如何使用 .NET 3.5 从 XML 文件中读取处理指令

Posted

技术标签:

【中文标题】如何使用 .NET 3.5 从 XML 文件中读取处理指令【英文标题】:How to read processing instruction from an XML file using .NET 3.5 【发布时间】:2011-03-07 05:36:07 【问题描述】:

如何判断一个xml文件是否有处理指令

例子

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

 <Root>
    <Child/>
 </Root>

我需要阅读处理指令

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

来自 XML 文件。

请帮我做这件事。

【问题讨论】:

没有“C# 3.5”这样的东西。您在询问 .NET 3.5。 【参考方案1】:

怎么样:

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

【讨论】:

【参考方案2】:

您可以使用XmlDocument 类和XmlProcessingInstruction 类的FirstChild 属性:

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

解析ValueData 属性以获取适当的值。

【讨论】:

【参考方案3】:

让编译器为你做更多的工作怎么样:

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

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

【讨论】:

欢迎来到 Stack Overflow!请edit你的答案解释这个答案中的代码是如何工作的。

以上是关于如何使用 .NET 3.5 从 XML 文件中读取处理指令的主要内容,如果未能解决你的问题,请参考以下文章

如何在 c# .net CF 3.5 中使用 XmlDocument 向 xml 添加属性

C# 3.5 读取 Excel 文件

用.net 读取xml 文件,如何去除注释信息?

wpf 如何读取xml文件内容

如何从 xml 解析器中读取数据

请问如何从数据库中读取一个存储过程并把查询结果生成一个xml文件(c#)