Si j'ai une instance de xmlreader, comment puis-je l'utiliser pour lire son nœud actuel et finir avec une instance de xmlElement?Comment créer un xmlElement à partir du nœud actuel d'un xmlReader?
Répondre
Non testé, mais que diriez-vous via un XmlDocument
:
XmlDocument doc = new XmlDocument();
doc.Load(reader);
XmlElement el = doc.DocumentElement;
alternative (à partir du cmoment), quelque chose comme:
doc.LoadXml(reader.ReadOuterXml());
Mais en réalité, je ne suis pas fan de ce .. Il force une étape xml-parse supplémentaire (une des opérations les plus coûteuses en CPU) sans raison valable. Si l'original est glitch, alors peut-être envisager un sous-lecteur:
using (XmlReader subReader = reader.ReadSubtree())
{
XmlDocument doc = new XmlDocument();
doc.Load(subReader);
XmlElement el = doc.DocumentElement;
}
changez la ligne 2 en doc.LoadXml (reader.ReadOuterXml()); donc je peux accepter. Merci. –
Comment ceci répond à la question? Cela va lire tout le XML dans XmlDocument, et retournera seulement l'élément racine. –
@Sunny; l'élément racine contient tous les autres éléments en tant que descendants –
En supposant que vous avez XmlDocument, où vous devez attacher le XmlElement nouvellement créé:
XmlElement myElement;
myXmlReader.Read();
if (myXmlReader.NodeType == XmlNodeType.Element)
{
myElement = doc.CreateElement(myXmlReader.Name);
myElement.InnerXml = myXmlReader.InnerXml;
}
De l'docs: Do ne pas instancier un XmlElement directement; à la place, utilisez des méthodes telles que CreateElement.
- 1. XmlReader - Lit le nœud actuel sous forme de chaîne
- 2. Créer XPathDocument à partir de XmlElement
- 3. Comment créer un UIImage à partir du contexte graphique actuel?
- 4. PHP XMLReader obtient le nœud parent?
- 5. Comment créer un InputStream à partir d'un document ou d'un nœud
- 6. Comment créer un sous-domaine à partir du code asp.net
- 7. Comment obtenir un nœud XML à partir de XDocument
- 8. Créer un fichier PDF à remplir à partir du PDF
- 9. Oracle: Comment créer un élément dans un espace de noms spécifique avec xmlelement()
- 10. XML interrogeant un nœud particulier à partir de C#
- 11. Comment mettre à jour un nœud XML?
- 12. Créer un fichier wmv à partir du code?
- 13. PHP: Obtenir un tableau de texte à partir du type de nœud XML perticular?
- 14. XmlReader obtenir l'élément par défaut du schéma
- 15. .NET: Comment créer une vignette à partir du flash
- 16. champs XmlSerializer et XmlElement
- 17. Comment apporter un formulaire à l'écran actuel?
- 18. Ajout d'attributs à un nœud XML
- 19. Comment trouver un nœud XML spécifique?
- 20. Créer un processus à partir d'un pilote
- 21. Comment lire json avec XmlReader
- 22. Comment utiliser la classe XmlReader?
- 23. Analyse d'éléments XML dans XmlReader
- 24. Comment demander une ressource (chemin relatif) à partir du serveur actuel?
- 25. Obtenir tous les nœuds entre le nœud actuel et un autre sans courant()?
- 26. Comment créer un triangle à partir de DIV
- 27. Comment créer un objet personnalisé à partir d'un formulaire sérialisé?
- 28. Obtenez l'ID utilisateur de l'utilisateur actuel connecté à partir du serveur à l'aide de asp.net 2.0
- 29. Comment mieux mettre à jour un nœud XML dans MSBuild
- 30. XmlReader - Je dois éditer un élément et en créer un nouveau
Voulez-vous vraiment XmlElement, et non XElement? –