2017-06-06 8 views
0

C#で標準XMLを作成しようとしていますが、エラーが発生しました。 'xmii'は宣言されていない接頭辞です。私は問題を研究したが、何も動作していないようだ。助言がありますか?ここでC# - XMLの宣言されていないプレフィックス

 XmlDocument doc = new XmlDocument(); 
     doc.LoadXml("<xmii:Request/>"); 

     docFrag.InnerXml = "<xmii:Name>" + name + "</xmii:Name>"; 
     doc.DocumentElement.AppendChild(docFrag); 

     docFrag.InnerXml = "<xmii:PWord>" + pword + "</xmii:PWord>"; 
     doc.DocumentElement.AppendChild(docFrag); 

は、XMLちょうどコメントを要約する

<xmii:Request> 
 
    <xmii:Name>John</xmii:Name> 
 
    <xmii:PWord>Monkey</xmii:PWord> 
 
</xmii:Request>

+0

名前空間を 'XmlDocument'に追加する必要があります。 xml ''は完全なドキュメントではなく、ルートに 'xmlns:xmii =" http://my.namespace.com/xmii/namespace "属性が必要です。 –

+0

@MichaelCoxonは応答に感謝します。 xmlの最初の読み込みに属性を追加するだけで、残りの子にxmiiが追加されますか?また、ルートに属性を追加する方法のコード例を教えてください。 –

+0

このページをチェックアウトする - それはXMLにはかなり良いhttps://www.w3schools.com/xml/xml_namespaces.asp –

答えて

0

どのように見えるかの例です。彼の答えは@MichaelCoxonに与えられています。これが含まれている場合、コードは動作します

 XmlDocument doc = new XmlDocument(); 
     doc.LoadXml("<xmii:Request xmlns:xmii=\"http://my.namespace.com/xmii/namespace\"/>"); 

     docFrag.InnerXml = "<xmii:Name xmlns:xmii=\"http://my.namespace.com/xmii/namespace\">" + name + "</xmii:Name>"; 
     doc.DocumentElement.AppendChild(docFrag); 

     docFrag.InnerXml = "<xmii:PWord xmlns:xmii=\"http://my.namespace.com/xmii/namespace\">" + pword + "</xmii:PWord>"; 
     doc.DocumentElement.AppendChild(docFrag); 
関連する問題