2014-01-30 59 views
0

環顧四周,卻找不到一個答案:刪除內部文本 - 的XPath

我有我用模板替換變量迅速放在一起文檔的XML模板。但是,如果值爲空,我希望模板的標記返回到代表打開/關閉的單個標記。

例如:

<root> 
    <child1>@@[email protected]@</child1> 
</root> 

所以,如果我做一個替換爲這個:

xml.selectsinglenode("/root/child1").innerText = Nothing 

xml.selectsinglenode("/root/child1").innerText = "" 

我結束了

<root> 
    <child1> 
    </child> 
</root> 

而不是我所期望的輸出:

<root> 
    <child1/> 
</root> 

我幾乎可以肯定,我失去了一些東西簡單,但我已經在這,我似乎無法弄清楚它是什麼。

回答

1

演員SelectSingleNode方法結果XmlElement並設置IsEmpty屬性爲true:

DirectCast(xml.SelectSingleNode("/root/child1"), XmlElement).IsEmpty = true; 
+0

這非常完美的例子。我不想直接在克隆的XMLNode上執行此操作,但它不起作用。你知道克隆的過程是否不同? – jnasty

+0

它應該適用於每個'XmlElement'。 – MarcinJuraszek