现有一段要解析的xml简要如下:- <dsobject classname=...>
- <props>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
</props>
- <dsobject classname=...>
- <props>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
</props>
- <dsobject classname=...>
- <props>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
</props>
</dsobject>
</dsobject>
</dsobject>现在的问题是:如何获取-->标签为<prop>,并且包含的属性name="DocumentTypeDesc"的节点?而且这个节点还要符合一个重要的前提条件:这节点,它所属的节点(离它最近的那个)- <dsobject classname=...>,里面的属性classname必须="Document"(PS:上面这一段xml只是一个局部区域,整个xml其实还有很多这样的重复写法。所以到时要用XmlNodeList存储这些得到的节点。)
- <props>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
</props>
- <dsobject classname=...>
- <props>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
</props>
- <dsobject classname=...>
- <props>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
<prop name=...>文本</prop>
</props>
</dsobject>
</dsobject>
</dsobject>现在的问题是:如何获取-->标签为<prop>,并且包含的属性name="DocumentTypeDesc"的节点?而且这个节点还要符合一个重要的前提条件:这节点,它所属的节点(离它最近的那个)- <dsobject classname=...>,里面的属性classname必须="Document"(PS:上面这一段xml只是一个局部区域,整个xml其实还有很多这样的重复写法。所以到时要用XmlNodeList存储这些得到的节点。)
解决方案 »
- TcpListener多线程异步接收TcpClient数据,线程数量快速上升问题。
- C# 写的socket如何使用LoadRunner进行压力测试
- 设置等待时间
- 询问几个窗体事件(最小化 最大化 还原)
- 如何將Combo中的字串轉換為對應的數值保存到數據庫中去?
- datagrid中单击单元格选择整行
- c#中一个调试问题
- 找高手帮忙看看这个错误具体原因
- 怎么才能获取dataGrid中选定行的信息啊??
- 请教:从查询语句经sqldataadapter,dataset,到datatable,datatable中的列的数据类型和数据库中一致吗?
- 字符串格式错误
- C#如何创建文件夹并指定Everyone完全访问权限
http://www.cnblogs.com/luckdv/articles/1728088.html?login=1
{
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load("XMLFile1.xml");
foreach (XmlNode item in doc.SelectNodes("//prop[@name='DocumentTypeDesc']"))
{
if (item.ParentNode.ParentNode.Attributes["classname"].InnerText == "doc")
{
Console.WriteLine(item.InnerText);
}
}
}
}
}
<dsobject classname="doc">
<props>
<prop name="DocumentTypeDesc">文本1</prop>
<prop name="DocumentTypeDesc">文本2</prop>
<prop name="DocumentTypeDesc">文本3</prop>
</props>
<dsobject classname="exe">
<props>
<prop name="DocumentTypeDesc">文本4</prop>
<prop name="DocumentTypeDesc">文本5</prop>
<prop name="DocumentTypeDesc">文本6</prop>
</props>
<dsobject classname="pdf">
<props>
<prop name="DocumentTypeDesc">文本7</prop>
<prop name="DocumentTypeDesc">文本8</prop>
<prop name="DocumentTypeDesc">文本9</prop>
</props>
</dsobject>
</dsobject>
</dsobject>