0

プログラムでノードを作成していますが、属性の 1 つがコードで指定したものとは異なります。

                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" />
4

2 に答える 2

0

プレフィックスを使用してインラインで属性を作成する代わりに、属性のプレフィックスを直接設定できます。

XmlAttribute xRefADLCP = docXMLFile.CreateAttribute("scormtype");
// ...
xRefADLCP.Prefix = "adlcp";
xRefADLCP.Value = "sco";
于 2012-06-04T16:50:59.940 に答える