7
votes

Comment omettre les déclarations XML lors de l'utilisation de xelement.save?

xelement.save fait en fait ce dont j'ai besoin, mais il commence le fichier avec: xxx

existe un moyen d'empêcher cela?

Devrais-je enregistrer à l'aide d'autres types, méthodes après avoir fini de créer mon xelement ?

ou dois-je sauter cette ligne via xmlreader.read ? En faisant cela, je me sens comme plus fragile que je suppose que la première ligne va toujours être cette déclaration XML.

Quel est le moyen le plus simple d'accomplir cela?


2 commentaires

Pourquoi voulez-vous laisser ça?


Merci John, maintenant, je n'ai pas besoin de penser parce que votre façon de lire le XML a fonctionné. Sinon, je recevais une erreur avec ma méthode postée dans l'autre question.


3 Réponses :


5
votes

xelement.tostring () ajoutera la déclaration XML à la sortie. Mais je ne comprends pas pourquoi xmlreader - ou n'importe quel analyseur XML - aurait des problèmes avec une déclaration XML standard.


2 commentaires

Merci, quand j'ai utilisé le lecteur, il jette une exception disant, racine de données non valide, ligne 1, etc.


J'ai vu une erreur très similaire causée par la marque d'ordre d'octets au début du fichier. Pourrait être utile d'enquêter.



3
votes

Utiliser un XMLWriter vous donnera cette capacité.

Article Microsoft: Serializing avec une déclaration XML explique comment contrôler Si la sérialisation génère une déclaration XML.


0 commentaires

5
votes

Cet exemple écrit l'exemple xmltree au fichier texte data.xml sans ligne de déclaration, pourtant Comprend la mise en forme d'indentation: xxx


0 commentaires