2010-06-23 2 views
4

.NET Comment vérifier si un fichier Xml ont le traitement InstructionComment lire l'instruction de traitement à partir d'un fichier XML à l'aide 3.5

Exemple

<?xml-stylesheet type="text/xsl" href="Sample.xsl"?> 

<Root> 
    <Child/> 
</Root> 

je dois lire les instructions de traitement

<?xml-stylesheet type="text/xsl" href="Sample.xsl"?> 

à partir du fichier XML.

S'il vous plaît aidez-moi à le faire.

+1

il n'y a pas une telle chose comme "C# 3.5". Vous posez des questions sur .NET 3.5. –

Répondre

16

Que diriez-vous:

XmlProcessingInstruction instruction = doc.SelectSingleNode("processing-instruction('xml-stylesheet')") as XmlProcessingInstruction; 
5

Vous pouvez utiliser FirstChild propriété de XmlDocument classe et XmlProcessingInstruction classe:

XmlDocument doc = new XmlDocument(); 
doc.Load("example.xml"); 

if (doc.FirstChild is XmlProcessingInstruction) 
{ 
    XmlProcessingInstruction processInfo = (XmlProcessingInstruction) doc.FirstChild; 
    Console.WriteLine(processInfo.Data); 
    Console.WriteLine(processInfo.Name); 
    Console.WriteLine(processInfo.Target); 
    Console.WriteLine(processInfo.Value); 
} 

Parse Value ou Data propriétés pour obtenir des valeurs appropriées.

0

Que diriez-vous de laisser le compilateur faire plus de travail pour vous:

XmlDocument Doc = new XmlDocument(); 
Doc.Load(openFileDialog1.FileName); 

XmlProcessingInstruction StyleReference = 
    Doc.OfType<XmlProcessingInstruction>().Where(x => x.Name == "xml-stylesheet").FirstOrDefault(); 
+0

Bienvenue dans Stack Overflow! S'il vous plaît [modifier] votre réponse pour expliquer comment fonctionne le code dans cette réponse. – dorukayhan

Questions connexes