我有一个包含多个根节点的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>
答案 0 :(得分:4)
构建XmlReader
,其ConformanceLevel
设置为Fragment
。有了它,您现在通常可以遍历每个顶级元素。此设置告诉XML读取器不必是单个根节点。从那里,您可以使用XML执行任何操作。或者您甚至可以使用ReadSubtree
方法将顶级元素读入XmlDocument
,使用XPath,反序列化XML等。
答案 1 :(得分:1)
当您使用“root”元素加载文本时,是否考虑过从文件中包装文本。
<root>
<Papermail>
<tag...
</Papermail>
</root>
通过这种方式,您可以在文件系统上存储无效的XML,但是当您加载它并将其打包时,它就会变为有效的XML,您可以对其进行验证和使用。