【发布时间】:2012-04-27 22:38:35
【问题描述】:
我正在将一个 XML 文件读入这样的数据表中:
DataTable dt = XMLParser.XMLRead.ReadeFormXMLFile(filePath, "my:myFields");
但是它没有捕获所有字段。
有多个从业者姓氏、从业者名字和从业者NPI:
<my:group1>
<my:group2>
<my:PractitionerFirstName>Joe</my:PractitionerFirstName>
<my:PractitionerLastName>Limits</my:PractitionerLastName>
<my:PractitionerNPI>0987654321</my:PractitionerNPI>
<my:PractitionerDegree>MD</my:PractitionerDegree>
</my:group2>
<my:group2 xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-06T05:56:10">
<my:PractitionerFirstName>Him</my:PractitionerFirstName>
<my:PractitionerLastName>Haw</my:PractitionerLastName>
<my:PractitionerNPI>1234567890</my:PractitionerNPI>
<my:PractitionerDegree>PA</my:PractitionerDegree>
</my:group2>
<my:group2 xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-06T05:56:10">
<my:PractitionerFirstName>Mike</my:PractitionerFirstName>
<my:PractitionerLastName>Kim</my:PractitionerLastName>
<my:PractitionerNPI>1234567890</my:PractitionerNPI>
<my:PractitionerDegree>DO</my:PractitionerDegree>
</my:group2>
<my:group2 xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-06T05:56:10">
<my:PractitionerFirstName>Vanilla </my:PractitionerFirstName>
<my:PractitionerLastName>Ice</my:PractitionerLastName>
<my:PractitionerNPI>1231231231</my:PractitionerNPI>
<my:PractitionerDegree>MD</my:PractitionerDegree>
</my:group2>
<my:group2 xmlns:my="http://schemas.microsoft.com/office/infopath/2003/myXSD/2012-02-06T05:56:10">
<my:PractitionerFirstName>Kim</my:PractitionerFirstName>
<my:PractitionerLastName>John</my:PractitionerLastName>
<my:PractitionerNPI>1234567890</my:PractitionerNPI>
<my:PractitionerDegree>DO</my:PractitionerDegree>
</my:group2>
</my:group1>
但是它们没有被包括在内。它目前正在做的是获取group2 中的最后一条记录并忽略该记录之前的所有记录:
<my:PractitionerFirstName>Kim</my:PractitionerFirstName>
<my:PractitionerLastName>John</my:PractitionerLastName>
<my:PractitionerNPI>1234567890</my:PractitionerNPI>
<my:PractitionerDegree>DO</my:PractitionerDegree>
问题:什么会导致 XML 解析器仅从 group2 获取最后一条记录而忽略其他所有内容?
【问题讨论】:
-
请解释下投票,我非常乐意更改/添加信息
-
我不知道你为什么投了反对票。问题 tho:是否忽略了具有自定义命名空间的字段?这可能与原因有关(顺便说一句,我没有 xmlparse 经验)
-
@payo 非常感谢您的回复。我是 XML 新手,所以我不知道这意味着什么 :)
-
我阅读示例 xml 的速度太快了。尝试将您的示例 xml 减少到错误重现的最小集合。然后,清楚地解释跳过或缺少哪个字段。
-
这个问题实际上无法回答,因为 XML 是由
XMLParser.XMLRead.ReadeFormXMLFile解析的,这是您或您的组织编写的方法。
标签: c# .net xml datatable xml-parsing