亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

通過XmlNamespaceManager使用默認命名空間的Xml-SelectNodes

通過XmlNamespaceManager使用默認命名空間的Xml-SelectNodes

富國滬深 2020-02-01 16:56:31
我有一些帶有默認名稱空間的xml<a xmlns='urn:test.Schema'><b/><b/></a>并想數 <b/>我該如何定義XmlNamespaceManager nsmgr = ????Assert.AreEqual(2, doc.SelectNodes("//b", nsmgr).Count);這樣斷言變為事實?到目前為止,我已經嘗試過(使用nunit):[Test][Ignore("Why does this not work?")]public void __DoesNotWork_TestSelectWithDefaultNamespace(){    // xml to parse with defaultnamespace    string xml = @"<a xmlns='urn:test.Schema'><b/><b/></a>";    XmlDocument doc = new XmlDocument();    doc.LoadXml(xml);    // fails because xpath does not have the namespace    //!!!!    Assert.AreEqual(2, doc.SelectNodes("//b").Count);    // using XPath defaultnamespace     XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);    nsmgr.AddNamespace("", "urn:test.Schema");    // This will fail with dotnet 3.5sp1. Why?    //!!!!    Assert.AreEqual(2, doc.SelectNodes("//b", nsmgr).Count);}[Test]public void TestSelectWithoutNamespaces_Ok(){    // xml to parse without namespace    string xml = @"<a><b/><b/></a>";    XmlDocument doc = new XmlDocument();    doc.LoadXml(xml);    // works ok    Assert.AreEqual(2, doc.SelectNodes("//b").Count);    // works ok    XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);    Assert.AreEqual(2, doc.SelectNodes("//b", nsmgr).Count);}[Test]public void TestSelectWithNamespacesPrefixed_Ok(){    // xml to parse with defaultnamespace    string xml = @"<a xmlns='urn:test.Schema'><b/><b/></a>";    XmlDocument doc = new XmlDocument();    doc.LoadXml(xml);    // using XPath namespace via alias "t". works ok but xpath is to complicated    XmlNamespaceManager nsmgr = new XmlNamespaceManager(doc.NameTable);    nsmgr.AddNamespace("t", doc.DocumentElement.NamespaceURI);    Assert.AreEqual(2, doc.SelectNodes("//t:b", nsmgr).Count);}
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 1484 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號