0
我有包含以下命名空間的XML空白命名空間:C#追加節點到現有的XML(包含)命名空間,但新的節點獲得
<AUTOSAR xsi:schemaLocation="http://autosar.org/3.1.4 autosar_3-1-4.xsd" xmlns="http://autosar.org/3.1.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
我寫的代碼追加節點特定水平XML文件,一切工作正常,但對於我第一次創建的節點,它添加了,例如:<功能名稱值xmlns =「」>(粗體文本部分)。我希望該標籤具有與XML中所有其他標籤一樣的名稱空間,但這是在創建新節點時自動生成的額外部分。如何解決這個問題。 Ps:我沒有在我的C#代碼中聲明任何命名空間。
這是XML的一部分,我想追加:
<FUNCTION-NAME-VALUE>
<DEFINITION-REF DEST="FUNCTION-NAME-DEF">/AUTOSAR/Com/ComConfig/ComSignal/ComInvalidNotification</DEFINITION-REF>
<VALUE>Rte_COMCbkInv_EPS_SteeringTorque</VALUE>
</FUNCTION-NAME-VALUE>
這是我面臨的問題:
<FUNCTION-NAME-VALUE xmlns="">
<DEFINITION-REF DEST="FUNCTION-NAME-DEF">/AUTOSAR/Com/ComConfig/ComSignal/ComInvalidNotification</DEFINITION-REF>
<VALUE>Rte_COMCbkInv_EPS_SteeringTorque</VALUE>
</FUNCTION-NAME-VALUE>
所有這些標籤是我創造,只有第一個標籤是xmlns:「」問題。
這是寫入創建這些節點的C#代碼:
if (funChilds[m].InnerText != "/AUTOSAR/Com/ComConfig/ComSignal/ComNotification")
{
XmlNode newNode = doc.CreateElement("FUNCTION-NAME-VALUE");
XmlNode defNode_func = doc.CreateElement("DEFINITION-REF");
XmlAttribute attr = doc.CreateAttribute("DEST");
attr.Value = "FUNCTION-NAME-DEF";
defNode_func.Attributes.SetNamedItem(attr);
defNode_func.InnerText = "/AUTOSAR/Com/ComConfig/ComSignal/ComInvalidNotification";
XmlNode valNode_func = doc.CreateElement("VALUE");
valNode_func.InnerText = ("");
newNode.AppendChild(defNode_func);
newNode.AppendChild(valNode_func);
def_ref[j].AppendChild(newNode);
}
請讓我知道,要使其擺脫這一問題的必要的修改。