0

xmlルートの生成に問題があります。xmlの要素は全体でプレフィックスを使用するため、この構造と一致させる必要があります。

<ShipmentReceiptNotification
xmlns="urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02"
xmlns:dacc="urn:rosettanet:specification:domain:Procurement:AccountClassification:xsd:codelist:01.03"
xmlns:dbpq="urn:rosettanet:specification:domain:Procurement:BookPriceQualifier:xsd:codelist:01.04"
xmlns:dccc="urn:rosettanet:specification:domain:Procurement:CreditCardClassification:xsd:codelist:01.03"
xmlns:dcrt="urn:rosettanet:specification:domain:Procurement:CustomerType:xsd:codelist:01.03"
..\..\XML\Interchange\ShipmentReceiptNotification_02_02.xsd">

私が何かをするなら

XmlNode ShipmentReceiptNotification0Node = xmlDoc.CreateElement("ShipmentReceiptNotification", "xmlns=\"urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02\"xmlns:dacc=\"urn:rosettanet:specification:domain:Procurement:AccountClassification:xsd:codelist:01.03\"");

私は得る

-ShipmentReceiptNotification xmlns = "xmlns = "urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02" xmlns:dacc =&

quot; urn:rosettanet:specification:domain:Procurement:AccountClassification:xsd:codelist:01.03 "">

4

1 に答える 1

1

の2番目の引数は、作成される要素、つまり、が属するCreateElement名前空間のURIを受け入れます。たくさんの属性ではありません。このコード:ShipmentReceiptNotificationxmlns

XmlElement e = xmlDoc.CreateElement(
    "ShipmentReceiptNotification",
    "urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02");

このXMLを生成します:

<ShipmentReceiptNotification 
    xmlns="urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02" />

必要なものを作成するには、要素に属性を追加する必要があります。このような:

XmlElement e = xmlDoc.CreateElement("ShipmentReceiptNotification");
e.SetAttribute("xmlns", "urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02");
e.SetAttribute("xmlns:dacc", "urn:rosettanet:specification:domain:Procurement:AccountClassification:xsd:codelist:01.03");

このXMLを生成します:

<ShipmentReceiptNotification 
    xmlns="urn:rosettanet:specification:interchange:ShipmentReceiptNotification:xsd:schema:02.02" 
    xmlns:dacc="urn:rosettanet:specification:domain:Procurement:AccountClassification:xsd:codelist:01.03" />

これは「手動」の方法であることに注意してください。あなたXmlNamespaceManagerはそれを「正しく」行うために遊ぶべきです。ただし、これはもう少し複雑なタスクであり、シナリオに必要ではない場合があります。

于 2013-03-08T17:27:16.440 に答える