簡體   English   中英

c#解析xml with和撇號拋出異常

[英]c# parsing xml with and apostrophe throws exception

我正在解析一個xml文件,並在嘗試查找其中包含撇號的節點時遇到問題。 當項目名稱沒有這一切時,一切正常。 我試過用不同的逃避字符替換撇號但是沒有太多運氣

string s = "/itemDB/item[@name='" + itemName + "']";

// Things i have tried that did not work
// s.Replace("'", "''");
// .Replace("'", "\'");

XmlNode parent = root.SelectSingleNode(s);

我總是收到XPathException。 這樣做的正確方法是什么。 謝謝

對於撇號,用'替換它'

你可以這樣做:

XmlDocument root = new XmlDocument();

root.LoadXml(@"<itemDB><item name=""abc'def""/></itemDB>");

XmlNode node = root.SelectSingleNode(@"itemDB/item[@name=""abc'def""]");

請注意逐字字符串文字'@'和雙引號。

您的代碼看起來像這樣,不需要替換任何東西:

var itemName = @"abc'def";

string s = @"/itemDB/item[@name=""" + itemName + @"""]";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM