我正在使用C#中的一些xml,并且因为它所处的格式而在解析xml文件时遇到了一些问题。它在文件中有非xml数据,我无法控制该文件的格式。该文件是“test.xml”(见下文)。我只关心数据的xml部分,但我不确定访问它的最佳方式。任何想法或建议将不胜感激。
Test data -1
Smith, 2234
@@*j
Random--
@<?xml version="1.0" encoding="utf-16"?>
<ConfigMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.Test.com/schemas/Test.test.Config">
<Config>
<Version>10</Version>
<Build>00520</Build>
<EnableV>false</EnableV>
<BuildL>22</BuildL>
<BuildP>\\testpath\test</BuildP>
</Config>
</ConfigMessage>
@
答案 0 :(得分:1)
我可以建议你这样的解决方案:打开你的伪xml像简单的文本文件,读取整个文本,之后,使用正则表达式,你应该采取xml文档(原始文档的一部分,能够转换为XML [| startTag | 任何符号 | / endTag |]),将其放入XDocument(在内存中),现在将其解析为XML文件。
答案 1 :(得分:0)
将整个文件放入一个字符串中,该字符串包含第一个&#39;&lt;&#39;最后的&#39;&gt;&#39;在文件上检测到的字符。然后,您可以将其视为普通XML。如果整个过程中存在随机的非XML元素,你需要添加额外的逻辑来检测启动/停止XML&#34; block&#34;。