我有一个 C# 应用程序,它使用按钮生成文件。目前,我想使用 C# 从 XML 文件中提取内容并将其作为字符串传递。例如,在我的 XML 文件中,我有一个标签名称。我想使用 C# 从 XML 文件中提取名称。我应该如何去实现它?以下是我当前拥有的示例代码。整个过程必须通过单击按钮来执行。
private void button1_Click(object sender, EventArgs e)
{
XElement xml = XElement.Load("C:\\Windows 7.xml");
IEnumerable<XElement> propertyIDs = xml.Descendants("PropertyId");
foreach (XElement child in xml.Elements())
{
XElement row = child.Element("my:VM_Name");
string test = xml.ToString();
Console.WriteLine(test);
}
}
请访问此链接查看我的 xml 文件:http://pastebin.com/NKhBb4Zh http://pastebin.com/NKhBb4Zh
我重写了您的示例并将其更改为使用 XmlDocument 类。由于有my我必须添加一个命名空间命名空间管理器。使用它您甚至可以选择一个特定的节点。
string url = @"e:\temp\data.xml";
XmlDocument doc = new System.Xml.XmlDocument();
doc.Load(url);
XmlElement docElement = doc.DocumentElement;
/// loop through all childNodes
foreach (XmlNode childNode in docElement.ChildNodes)
{
Console.WriteLine(childNode.Name + ": " + childNode.InnerText);
}
XmlNamespaceManager mgr = new XmlNamespaceManager(doc.NameTable);
mgr.AddNamespace("my", "http://schemas.microsoft.com/office/infopath/2003/myXSD/2011-05-27T03:57:48");
/// use the given XmlNamespaceManager to select a specific element
XmlNode node = docElement.SelectSingleNode("my:VM_DiskSize", mgr);
/// use innerText for node text and value for attributes only
Console.WriteLine("\n" + node.Name + ": " + node.InnerText);
hth
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)