3

我有以下包含格式错误的 XML 片段的第三方 xml,我正在尝试使用 XmlTextReader 来阅读它。

   <ReplacementDefinitions>
        <Def key="EnclosingFunction.name" value="_jspService(System.Configuration.ConfigurationManager.ConnectionStrings["Upload_Service"].ToString())"/>
        <Def key="PrimaryCall.name" value="print()"/>
        <Def key="PrimaryLocation.file" value="Error.jsp"/>
        <Def key="PrimaryLocation.line" value="20"/>
        <LocationDef path="webapp/jsp/common/Error.jsp" line="20" lineEnd="20" colStart="27" colEnd="0" key="PrimaryLocation"/>
      </ReplacementDefinitions>

XmlTextReader 抛出异常:

'Upload_Service' is an unexpected token. Expecting white space. Line 44126, position 123.

它被挂断在:[“Upload_Service”]中的引号。关于如何转义这些引号以便 XmlTextReader 可以解析数据的任何想法?

4

1 回答 1

1

您可以尝试使用更容错的 html 解析器(如HtmlAgilityPack )解析您的 xml。

HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.LoadHtml(xml);

var defs = doc.DocumentNode.Descendants("def")
        .ToDictionary(d=>d.Attributes["key"].Value,d=>d.Attributes["value"].Value);
于 2012-10-23T20:14:28.953 回答