如何使值XPathSelectElement与原始副本相同

时间:2015-12-03 15:21:03

标签: c# html xpath

我已经有了一个代码来获取标签头的值,问题是原始特殊字符是以hexa转换的,而xpathselectelement值得到的值已经在utf8中转换了。如何使值XPathSelectElement与原始值相同。

这是我的代码:

{{countries[country][city]}}

这是值来自的html:

if (content.Contains("<h1"))
            {
                _chapterName = inputXDoc.XPathSelectElement("//h1").Value;
            }
            else if (content.Contains("<h2"))
            {
                _chapterName = inputXDoc.XPathSelectElement("//h2").Value;
            }
            else if (content.Contains("<h3"))
            {
                _chapterName = inputXDoc.XPathSelectElement("//h3").Value;
            }
            else if (content.Contains("<h4"))
            {
                _chapterName = inputXDoc.XPathSelectElement("//h4").Value;
            }

输入XPathSelectElement的输出(&#34; // h1&#34;)。值;

10。 'Ben je nu gezond?'

我想要的输出是:

<h1><a id="p85"/><a id="ch10" href="005_inhoud.html#ch10">10. &#x2018;Ben je nu gezond?&#x2019;</a></h1>

1 个答案:

答案 0 :(得分:0)

因为您使用XML解析器解析文件,所以在将XML加载到DomDocument中时,字符实体('etc.)会自动转换为实际字符。

如果你想保留实体本身,你可以预先处理文件以双重逃避&符号。

&amp;#x2018;Ben je nu gezond?&amp;#x2019;

需要成为

&#x2018;Ben je nu gezond?&#x2019;

源代码中的文本(在DomDocument中)将类似于

Page.Master

Ik hoop dat deze oplossing voor jou werkbaar is!