2009-02-11 7 views
0

Dans .NET, que cela signifie-t-il si LoadXml() dans l'objet XmlDocument, puis ParentNode et DocumentType sont null?XmlDocument - ParentNode et DocumentType sont NULL

Aussi, je reçois cela comme la réponse à xmldoc.FirstChild.Value:
version="1.0" encoding="utf-8"

Est-ce vrai? Été un moment depuis que j'ai fait des choses XML DOM. Le fichier est codé en UTF-8. Pensez que cela ne devrait pas être un problème. Existe-t-il une simple méthode de validation vrai/faux pour mon document?

MISE À JOUR:
Si le NodeType est un élément Comment retourner le « nom de la balise »?

réflexion actuelle:
xmldoc.ChildNodes [1] .name; J'ai remarqué que la propriété Name est Get uniquement. Quel est le meilleur outil à utiliser si vous voulez échanger la balise racine pour quelque chose d'autre (comme 'feed' à 'container'), mais vous voulez quelque chose d'un peu plus léger que XSLT, et non du simple texte/remplacer. Souhaiterait toujours voir un exemple LINQ to XML. Merci pour l'aide de tout le monde. Je suppose qu'il a été plus long que je ne le pensais depuis que j'ai regardé les choses XML dans .NET.

+0

Pourriez-vous coller les premières lignes de votre document XML? A partir du tout premier caractère du fichier (et copiez/collez-le sans le re-taper) –

+0

Avez-vous la possibilité d'utiliser Linq en XML? (c'est à dire que vous utilisez .NET 3.0 ou supérieur) – bendewey

+0

Je pourrais utiliser Linq to XML comme test. Sera de 2,0 en production. N'ayant pas utilisé Linq en XML, j'ai besoin d'aide. – BuddyJoe

Répondre

1

De la documentation MSDN, XmlDocument.ParentNode renvoie toujours null - le document lui-même est la racine, il n'a donc pas de parent. La propriété DocumentType renvoie la balise DOCTYPE, que votre exemple n'a pas.

+0

Je suis confus. Voir mise à jour. – BuddyJoe

1

L'élément racine est toujours accessible via la propriété XmlDocument.DocumentElement. Le nom de l'élément racine a pu être déterminé à l'aide de la propriété de chaîne XmlDocument.DocumentElement.LocalName. Si vous voulez renommer l'élément racine, il vaut mieux utiliser une autre instance de XmlDocument, ajouter un élément racine en utilisant XmlDocument.CreateNode, l'appeler comme vous voulez, puis en boucle enfants de l'élément racine du document d'origine et utilisez la méthode CloneNode (bool deep) conjointement avec la méthode XmlNode.ImportNode pour copier le reste du document d'origine dans le nouveau document.

Questions connexes