Как прочитать инструкцию обработки из файла XML с помощью .NET 3.5 - PullRequest
5 голосов
/ 23 июня 2010

Как проверить, есть ли в XML-файле инструкция по обработке

Пример

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

 <Root>
    <Child/>
 </Root>

Мне нужно прочитать инструкцию по обработке

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

из файла XML.

Пожалуйста, помогите мне сделать это.

Ответы [ 3 ]

16 голосов
/ 23 июня 2010

Как насчет:

XmlProcessingInstruction instruction = doc.SelectSingleNode("processing-instruction('xml-stylesheet')") as XmlProcessingInstruction;
5 голосов
/ 23 июня 2010

Вы можете использовать FirstChild свойство XmlDocument класса и XmlProcessingInstruction класса:

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);
}

Разобрать Value или Data свойства, чтобы получить соответствующие значения.

0 голосов
/ 23 сентября 2016

Как насчет того, чтобы позволить компилятору сделать больше работы за вас:

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

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