我有一個(gè)包含其元素的xml文件,例如<ab:test>Str</ab:test> 當(dāng)我嘗試使用代碼訪問它時(shí):XElement tempElement = doc.Descendants(XName.Get("ab:test")).FirstOrDefault();這給了我這個(gè)錯(cuò)誤:System.Web.Services.Protocols.SoapException:服務(wù)器無法處理請(qǐng)求。---> System.Xml.XmlException:名稱中不能包含':'字符,十六進(jìn)制值0x3A。我應(yīng)該如何訪問?
3 回答

揚(yáng)帆大魚
TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果要使用名稱空間,則LINQ to XML真的很容易:
XNamespace ab = "http://whatever-the-url-is";
XElement tempElement = doc.Descendants(ab + "test").FirstOrDefault();
xmlns:ab=...在文檔中查找一個(gè)部分,以找出“ ab”所指的名稱空間URI。

FFIVE
TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊
我有同樣的錯(cuò)誤。我發(fā)現(xiàn)我正在添加代碼...
var ab = "http://whatever-the-url-is";
...但是ab被確定為字符串。這導(dǎo)致了OP報(bào)告的錯(cuò)誤。我沒有使用VAR關(guān)鍵字,而是使用了實(shí)際的數(shù)據(jù)類型XNamespace ...
XNamespace ab = "http://whatever-the-url-is";
...問題就消失了。
- 3 回答
- 0 關(guān)注
- 1794 瀏覽
添加回答
舉報(bào)
0/150
提交
取消