社区
C#
帖子详情
在xml中,如何获取当前节点下的某个子节点(已知节点名)?
guanxg
2006-10-30 10:53:34
在载入一个xml文件后,我已经定位到某个节点,现在我需要获取当前节点下的某个子节点,该子节点的名字已知。如果通过相对路径定位到它呢?问题是,无法知道父结点的路径。
...全文
844
13
打赏
收藏
在xml中,如何获取当前节点下的某个子节点(已知节点名)?
在载入一个xml文件后,我已经定位到某个节点,现在我需要获取当前节点下的某个子节点,该子节点的名字已知。如果通过相对路径定位到它呢?问题是,无法知道父结点的路径。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
guanxg
2006-11-01
打赏
举报
回复
多谢各位了。我找到原因,需要定一个一个名字空间管理类,就是XmlNamespaceManager,然后才能用路径来定位。
liujia_0421
2006-10-30
打赏
举报
回复
给楼主一篇文章参考一下吧,我觉得里面讲得很清楚了:
http://blog.5d.cn/user6/crl/200510/175989.html
有例子...
yuqi508
2006-10-30
打赏
举报
回复
以下参考
private TPFMConfig GetNextConfig()
{
string Ext = "";
string Location = "";
string Subdirectory = "";
string FUnit = "";
string Remove = "";
string Handler = "";
string Destination = "";
string Dir = "";
string ConnectionSting = "";
while (xmlreader.Read())
{
if (xmlreader.NodeType == XmlNodeType.Element)
{
while (xmlreader.Read())
{
if (xmlreader.NodeType == XmlNodeType.Element)
{
if (xmlreader.Name == "EXT")
{
Ext = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "LOCATION")
{
Location = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "SUBDIRECTORY")
{
Subdirectory = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "UNIT")
{
FUnit = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "REMOVE")
{
Remove = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "HANDLER")
{
Handler = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "DESTINATION")
{
Destination = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "DIR")
{
Dir = xmlreader.ReadElementString();
continue;
}
if (xmlreader.Name == "CONNECTIONSTRING")
{
ConnectionSting = xmlreader.ReadElementString();
break;
}
}
}
return new TPFMConfig(Ext, Location, Subdirectory, FUnit, Remove, Handler, Destination, Dir, ConnectionSting);
}
}
return null;
}
supesa
2006-10-30
打赏
举报
回复
建议你看下xmlpath定义
你说的应该可以用
CS3000GR:dataBind[@bindingType="individual"]
做xmlpath来查找
我写的可能不对,好久没写了,都忘了
你看下vs自带的msdn,上边有很规范的讲解的
lovefootball
2006-10-30
打赏
举报
回复
假定node就是ellipse
XmlNode temp = node.SelectSingleNode("CS3000GR:dataBind");
刚才测试了一下
节点名称里面可以带冒号么??
Almzg_0
2006-10-30
打赏
举报
回复
那就是说:CS3000GR:dataBind也是某个节点的值?那这里某个节点你知道么?
guanxg
2006-10-30
打赏
举报
回复
Almzg_0(阿拉麻兹固) ,我知道直接定位某个节点是可以的。但是我碰到的问题是。我需要根据某个子节点的值去找它的兄弟,因为他们之间有些值有联系。
guanxg
2006-10-30
打赏
举报
回复
<ellipse>
<title>"Body"</title>
<CS3000GR:general tagObject="no" debug="yes"/>
<CS3000GR:dataBind bindingType="individual">
<CS3000GR:bindingSet SetNo="1">
<CS3000GR:binding genericName="$TAG" value="RL70519"/>
</CS3000GR:bindingSet>
</CS3000GR:dataBind>
</ellipse>
比如我已经定位到<ellipse>节点了,我如何定位到<CS3000GR:dataBind>这个子节点呢?
Almzg_0
2006-10-30
打赏
举报
回复
<ParserDevType>
<Type name="2000">
<ShowName>2000</ShowName>
<DllPath></DllPath>
</Type>
</ParserDevType>
=======================
XmlNodeList mXmlNodeList = section.SelectNodes("Type");
foreach(XmlNode mXmlNode in mXmlNodeList)
{
mEPDevType = new EPDevType();
mEPDevType.DllPath = mXmlNode.SelectSingleNode("DllPath").InnerText;
mEPDevType.ShowName = mXmlNode.SelectSingleNode("ShowName").InnerText;
if (mXmlNode.Attributes.Count > 0)
{
mEPDevType.DevTypeName = mXmlNode.Attributes[0].InnerText;
mDictionary.Add(mEPDevType.DevTypeName, mEPDevType);
}
}
====================
部分代码,将就着看下
jc15271149
2006-10-30
打赏
举报
回复
childnode
guanxg
2006-10-30
打赏
举报
回复
我已经已经得到父节点了,而且子节点就在父结点的下一级
Almzg_0
2006-10-30
打赏
举报
回复
例子?
Almzg_0
2006-10-30
打赏
举报
回复
无法知道父节点?那怎么找子节点?
第十四章
XML
获取
当前
节点
信息
本文档介绍了
XML
文档的DOM
节点
类型,包括Element、Text和Whitespace等,并提供了示例展示如何
获取
当前
节点
的LocalName、Namespace、NamespaceIndex、NodeData等信息。通过%
XML
.Node的方法如GetText()、HasChildNodes()和GetNumberAttributes(),可以深入理解
XML
文档的结构和内容。
Java文件操作①——
XML
文件的读取
本文详细介绍使用Java的DOM方式解析
XML
文件的方法,包括解析
XML
文件的步骤、
获取
节点
名
、
节点
值、属性
名
和属性值的过程。文章还提供了代码示例,演示如何通过DocumentBuilderFactory和DocumentBuilder对象加载并解析
XML
文件。
soap+
xml
获取
相同
节点
元素值
本文介绍了如何在
已知
XML
结构时利用Jsoup
获取
节点
元素值,以及在结构未知的情况下,通过Dom4j解析
XML
并递归
获取
所有元素值的方法。
xpath
获取
当前
节点
的兄弟
节点
本文介绍如何使用XPath表达式来定位
XML
文档
中
当前
节点
的兄弟
节点
,包括
获取
指定
节点
的前一个或后一个兄弟
节点
,以及
获取
指定
节点
的父
节点
。
XML
DOM
节点
列表
博客围绕
XML
展开,介绍了使用getElementsByTagName()方法和childNodes属性返回
节点
列表,以及元素
节点
attributes属性返回属性
节点
列表。通过多个实例,展示了从
XML
文件
中
获取
元素文本、遍历元素列表、
获取
元素属性等操作,还提及
节点
列表和属性列表会自动更新。
C#
111,129
社区成员
642,532
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章