社区
C#
帖子详情
在xml中,如何获取当前节点下的某个子节点(已知节点名)?
guanxg
2006-10-30 10:53:34
在载入一个xml文件后,我已经定位到某个节点,现在我需要获取当前节点下的某个子节点,该子节点的名字已知。如果通过相对路径定位到它呢?问题是,无法知道父结点的路径。
...全文
743
13
打赏
收藏
在xml中,如何获取当前节点下的某个子节点(已知节点名)?
在载入一个xml文件后,我已经定位到某个节点,现在我需要获取当前节点下的某个子节点,该子节点的名字已知。如果通过相对路径定位到它呢?问题是,无法知道父结点的路径。
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
13 条
回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
打赏红包
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
打赏
举报
回复
无法知道父节点?那怎么找子节点?
相关推荐
java jdom dom4j_用JDOM和DOM4J解析
节点
名
节点
值
1、用JDOM解析
节点
名和
节点
值1、创建一个SAXBuilder对象2、创建一个输入流, 将
xml
文件加载到文件
中
3. 通过saxBuilder的方法,将输入流加载到saxBuilder4. 通过document对象
获取
xml
文件的根
节点
5.
获取
根
节点
下的子
节点
的List集合(蓝色部分)6、
获取
子
节点
的子
节点
的List集合(黄色部分)7、如果遇到了乱码可以修改
xml
文件的编码,或者用...
xml
首先给出一段
XML
格式文本信息: Harry Potter 29.99 Learning
XML
39.95 表达式 描述
节点
名 选择所有该名称的
节点
集 / 选择根
节点
// 选择
当前
节点
下的所有
节点
. ...
获取
节点
和元素对象,JSON,二级联动
一, 通过
节点
关系查找
节点
document.all
获取
文档
中
所有的
节点
1.从一个
节点
出发开始查找: parentNode
获取
当前
元素的父
节点
。 childNodes
获取
当前
元素的所有下一级子元素。 firstChild
获取
当前
节点
的第一
个子
节点
。 lastChild
获取
当前
节点
的最后一
个子
节点
。 nextSibling
获取
当前
节点
的下一个
节点
。(兄节...
C语言
获取
xml
节点
名及对应的
节点
值
利用C语言编程,提起
xml
文档里面的
节点
名及对应的
节点
值。
C#
知
识学习-
XML
文档的读写
XML
文档的读写
Xml
Document
xml
文档 常用方法 Load(文件名) 读取
xml
文件
Xml
NodeList
节点
列表 常用属性 Count
获取
列表
中
的
节点
数 常用方法 Item(index)
获取
索引处的
节点
如果index大于等于
节点
数,将返回null
Xml
Node
节点
常用属性 Name
获取
节点
名称 InnerText
获取
当前
节点
和改
节点
下所有子
节点
的文本 FirstChild
获取
该
节点
的第一
个子
节点
ChildNodes
获取
该
节点
的所有子
节点
...
发帖
C#
C#
.NET技术 C#
复制链接
扫一扫
10.8w+
社区成员
64.2w+
社区内容
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
帖子事件
创建了帖子
2006-10-30 10:53
社区公告
让您成为最强悍的C#开发者