在xml檔案有多個名稱空間時,你的xml各種型別中的元素在沒有確切指明其名稱空間的情況下,它的名稱空間就是預設名稱空間(一般問xml文件根節點中指定名稱空間的第一個屬性)。當你新增節點時,若沒有指明該節點的名稱空間時,不會使用預設名稱空間的,會新增:xmls=“”,作為預設名稱空間。
所以,解決的方式當然就是在新增節點時就指明其名稱空間就是咯。
名稱空間使用方法:
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new XmlDocument().NameTable) //宣告一個名稱空間管理器
nsmgr.AddNamespace(“ns”, xmlUrl)//向管理器新增一個名稱空間連線,其中ns為新增名稱空間的名稱,xmlUrl為名稱空間的連結。兩個引數都是string型別。
jobNode.SelectSingleNode("ns:trigger/ns:cron", nsmgr)//使用名稱空間查詢節點。注意其中的ns和nsmgr
其實對於你的問題只需要在建立要加入的節點時指明一個xmlUrl就可以啦:
XmlElement jobElement = xmlDoc.CreateElement("job", xmlUrl);
在xml檔案有多個名稱空間時,你的xml各種型別中的元素在沒有確切指明其名稱空間的情況下,它的名稱空間就是預設名稱空間(一般問xml文件根節點中指定名稱空間的第一個屬性)。當你新增節點時,若沒有指明該節點的名稱空間時,不會使用預設名稱空間的,會新增:xmls=“”,作為預設名稱空間。
所以,解決的方式當然就是在新增節點時就指明其名稱空間就是咯。
名稱空間使用方法:
XmlNamespaceManager nsmgr = new XmlNamespaceManager(new XmlDocument().NameTable) //宣告一個名稱空間管理器
nsmgr.AddNamespace(“ns”, xmlUrl)//向管理器新增一個名稱空間連線,其中ns為新增名稱空間的名稱,xmlUrl為名稱空間的連結。兩個引數都是string型別。
jobNode.SelectSingleNode("ns:trigger/ns:cron", nsmgr)//使用名稱空間查詢節點。注意其中的ns和nsmgr
其實對於你的問題只需要在建立要加入的節點時指明一個xmlUrl就可以啦:
XmlElement jobElement = xmlDoc.CreateElement("job", xmlUrl);