Comment ajouter plusieurs espaces de noms à l'élément racine avec XmlDocument?
J'ai besoin de créer un XmlDocument
avec un élément racine contenant plusieurs espaces de noms. Suis à l'aide de C# 2.0 ou 3.0
Voici mon code:
XmlDocument doc = new XmlDocument();
XmlElement root = doc.CreateElement("JOBS", "http://www.example.com");
doc.AppendChild(root);
XmlElement job = doc.CreateElement("JOB", "http://www.example.com");
root.AppendChild(job);
XmlElement docInputs = doc.CreateElement("JOB", "DOCINPUTS", "http://www.example.com");
job.AppendChild(docInputs);
XmlElement docInput = doc.CreateElement("JOB", "DOCINPUT", "http://www.example.com");
docInputs.AppendChild(docInput);
XmlElement docOutput = doc.CreateElement("JOB", "DOCOUTPUT", "http://www.example.com");
docOutputs.AppendChild(docOutput);
La sortie courant:
<JOBS xmlns="http://www.example.com">
<JOB>
<JOB:DOCINPUTS xmlns:JOB="http://www.example.com">
<JOB:DOCINPUT />
</JOB:DOCINPUTS>
<JOB:DOCOUTPUTS xmlns:JOB="http://www.example.com">
<JOB:DOCOUTPUT />
</JOB:DOCOUTPUTS>
</JOB>
</JOBS>
Cependant, mon choix de sortie est:
<JOBS xmlns:JOBS="http://www.example.com" xmlns:JOB="http://www.example.com">
<JOB>
<JOB:DOCINPUTS>
<JOB:DOCINPUT />
</JOB:DOCINPUTS>
<JOB:DOCOUTPUTS>
<JOB:DOCOUTPUT />
</JOB:DOCOUTPUTS>
</JOB>
</JOBS>
Ma question: comment puis-je créer un XmlDocument
qui contient un élément racine avec plusieurs espaces de noms?
source d'informationauteur Metro Smurf
Vous devez vous connecter pour publier un commentaire.
La suivante permet de générer la sortie désirée que vous avez demandés ci-dessus:
Cependant, il semble étrange que dans votre exemple/de sortie souhaité que le même espace de noms XML a été utilisé à l'encontre de deux préfixes différents. Espérons que cette aide.
Vous pouvez créer explicitement préfixe d'espace de noms d'attributs sur un élément. Lorsque vous ajoutez ensuite les descendants éléments qui sont créés à la fois avec le même espace et le même préfixe, le XmlDocument fonctionnera qu'il n'a pas besoin d'ajouter une déclaration d'espace de noms de l'élément.
Exécuter cet exemple pour voir comment cela fonctionne:
essayez d'ajouter l'espace de noms d'attribut à l'élément racine: