[英]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.