作者petrushka (不放过自己)
看板C_Sharp
标题Re: [问题] XML Parsing多笔资料的问题
时间Fri Aug 28 14:22:11 2009
以你原文提到的XML格式可能要采取循序方式才好处理了
但如果你能把它reformat成新的样子, 就可以用XPath去做了,
例如:
<items>
<item>
<id pid="1"/>
<name>Cup</name>
<price>35.0</price>
</item>
<item>
<id pid="2"/>
<name>Glass</name>
<price>60.0</price>
</item>
<item>
<id pid="3"/>
<name>Plate</name>
<price>120.0</price>
</item>
</items>
如果这类资料很频繁使用到,我会写个简单的reformat程式,先转换过,
这样方便其他程式处理资料且其他程式也会比较好设计
原本的问题你应该本来就会解决了, 猜想你只是想程式码写得更好一些,
有时把资料先整理成方便处理的方式, 不失为一个好方式
※ 引述《quarry (Man)》之铭言:
: 小弟目前在处理一份XML文件
: 格式如下
: <item>
: <id pid="1"/>
: <name>Cup</name>
: <price>35.0</price>
: <id pid="2"/>
: <name>Glass</name>
: <price>60.0</price>
: <id pid="3"/>
: <name>Plate</name>
: <price>120.0</price>
: </item>
: 希望能将产品资讯输入到资料表中
: 资料表PRODUCT的schema如下
: PRODUCT
: ---------------------------
: ID | NAME | PRICE
: ---------------------------
: 有想过以XmlDocument利用XPath
: 分别以/item/id、/item/name及/item/price将三种资料取出
: 但用这种方法取出的资讯会分成三个group
: 变成/item/id是 1, 2, 3
: /item/name是Cup, Glass, Plate
: 而/item/price是35.0, 60.0, 120.0
: 我是希望能按次序地取出
: 像是取出
: 1, Cup, 35.0
: 2, Glass, 60.0
: 3, Plate, 120.0
: 如此就可直接用SQL语法将资料存到资料表中
: 不知道这样的取法用XmlDocument、XQuery或XPath可以达成吗
: 还是一定要用XmlTextReader才行呢?
: 谢谢!
--
对於已经无法拥有的
唯一能做的是
不要忘记
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.125.251.180
※ 编辑: petrushka 来自: 140.125.251.180 (08/28 14:28)
1F:推 quarry:谢谢您的解说,但想请问一下,若是reformat之後,XPath应 08/28 15:09
2F:→ quarry:该如何下呢? /items/item/[@id=n], n=1,2,3...这样子取吗 08/28 15:10