我創建一個節點編程,但其中一個屬性出來不同於我在代碼中指定:C#XML屬性正在創建不當
XmlNode xResource = docXMLFile.CreateNode(XmlNodeType.Element, "resource", docXMLFile.DocumentElement.NamespaceURI);
XmlAttribute xRefIdentifier = docXMLFile.CreateAttribute("identifier");
XmlAttribute xRefADLCP = docXMLFile.CreateAttribute("adlcp:scormtype");
XmlAttribute xRefHREF = docXMLFile.CreateAttribute("href");
XmlAttribute xRefType = docXMLFile.CreateAttribute("type");
xRefIdentifier.Value = "RES-" + strRes;
xRefADLCP.Value = "sco";
xRefHREF.Value = dataRow["launch_url"].ToString().ToLower();
xRefType.Value = "webcontent";
xResource.Attributes.Append(xRefIdentifier);
xResource.Attributes.Append(xRefADLCP);
xResource.Attributes.Append(xRefHREF);
xResource.Attributes.Append(xRefType);
這最終建立類似下面的一行。請注意'adlcp:scormtype'已經變成'scormtype',這不是我指定的。任何想法如何讓它顯示我放入CreateAttribute?
<resource identifier="RES-CDA68F64B849460B93BF2840A9487358" scormtype="sco" href="start.html" type="webcontent" />
我試着添加這個:XmlAttribute xRefADLCP = docXMLFile.CreateAttribute(「adlcp」,「scormtype」,docXMLFile.DocumentElement.NamespaceURI);問題是它然後爲xmlns添加了另一個屬性:adlcp =「http://www.imsproject.org/xsd/imscp_rootv1p1p2」。任何想法如何擺脫它? – user1366062
您正在重新定義名稱空間。從其他評論的根目錄 - 「xmlns:adlcp =」adlnet.org/xsd/adlcp_rootv1p2「;',從此 - 」xmlns:adlcp =「imsproject.org/xsd/imscp_rootv1p1p2」'。由你決定你想要什麼,如果命名空間相同,我相信在子元素上不會有重複的xmlns屬性。 –
謝謝!我改變它匹配,它消失了。 – user1366062