多个根节点

时间:2014-02-05 11:39:50

标签: c# xml

我有一个包含多个根节点的XML文件。我希望每个根节点都存储在数据库中的单独记录中。此外,当存储在DB中时,我想用模式验证它,如果它有效,则从那里的标签中获取一些值并存储它。请帮助我。

SAMPLE XML文件格式:

<Papermail><tags>     </tags></papermail>
<Papermail><tags>     </tags></papermail>
<Papermail><tags>     </tags></papermail>
<Papermail><tags>     </tags></papermail>
<Papermail><tags>     </tags></papermail>
<Papermail><tags>     </tags></papermail>

2 个答案:

答案 0 :(得分:4)

构建XmlReader,其ConformanceLevel设置为Fragment。有了它,您现在通常可以遍历每个顶级元素。此设置告诉XML读取器不必是单个根节点。从那里,您可以使用XML执行任何操作。或者您甚至可以使用ReadSubtree方法将顶级元素读入XmlDocument,使用XPath,反序列化XML等。

答案 1 :(得分:1)

当您使用“root”元素加载文本时,是否考虑过从文件中包装文本。

<root>
    <Papermail>
        <tag...
    </Papermail>
</root>

通过这种方式,您可以在文件系统上存储无效的XML,但是当您加载它并将其打包时,它就会变为有效的XML,您可以对其进行验证和使用。