如何在其他文本的中间解析xml。
示例:如果我在C#中有这个文本文件,我该如何解析xml部分:
-> Begin of file
2010-01-01 tehgvdhjjsad
2010-01-02 dsjhnxcucncu
14:55 iahsdahksdjh
<Answer>
<headline>
<a1>1</a1>
<a2>2</a2>
</headline>
</Answer>
2010-01-05 tehgvddsda
2010-01-05 ddsada
22:55 iahsdahksdjh2
<Answer>
<headline>
<a1>11</a1>
<a2>22</a2>
</headline>
</Answer>
-> End of file
答案 0 :(得分:0)
有几种方法:
1. Do a string.IndexOf("<Answer>") and then use a substring to chop off the header information. Then add the substring like this:
xmlString = "<Answers>" + substringXml + "</Answers>". Then you could parse the xml as valid XML.
2. Use an xmltextreader created with fragment conformance levels and read through the xml. Only stop on the Answer elements and do processing.
3. Add a root element to the document and open it in an XmlDocument and use an xpath expression to read out the Answer elements.
答案 1 :(得分:0)
嗯,没有太多东西可以帮助你做些什么。 AFAIK有两种可能性:
选项1.如果所有xml片段具有相同的根节点,即。 “&lt; Answer&gt;”,然后您可以简单地找到&lt; Answer&gt;的出现次数。找到结束的下一个出现&lt; / Answer&gt;,在两者之间提取文本并使用普通的XML解析器。
选项2.如果它是一个任何东西xml有点事情,那么你可以使用我前段时间写的Regex based Html Parser。它应该没有问题地处理输入;但是,您必须处理打开/关闭元素并确定如何处理它们。