C# XML 如何直接根据属性值 读取 对应的值 怎么写???

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# XML 如何直接根据属性值 读取 对应的值 怎么写???相关的知识,希望对你有一定的参考价值。

我想直接根据GlobalID 所对应的属性值 来读取 对应的 值。。。我总是用循环对比来读取的 觉得不好。。有什么快速好的方法嘛??

XmlNodeList xnl=doc.SelectNodes("//*[@GlobalID='123']");//属性GlobalID=123的节点,不论节点在哪一级,节点叫什么名字
或XmlNodeList xnl=doc.SelectNodes("//RealTimeData[@GlobalID='123']");//属性GlobalID=123的RealTimeData节点,不论节点在哪一级,只要节点的名字叫RealTimeData
foreach(XmlNode xn in xnl)

xn.InnerText//节点的值

主要就是知道怎么表达XML的路径
你可以参考一下
http://www.w3school.com.cn/xpath/xpath_syntax.asp
参考技术A <xsl:for-each select="VisualData/RealTimeData">
<xsl:value-of select="RealTimeData" />读取值
<xsl:value-of select="@GlobalID" />读取属性值
</xsl:for-each>追问

不是这个意思    我要读到值   然后传给我其他的方法里面值去;

我这里面我要做对比判断 来获取所ID 所对应的值 觉得不好。。。

参考技术B for()

if ( xmlnode[i].Attributes[0].value == "110200001709005")
strint text = xmlnode[i].innertext;
参考技术C xmlreader 类。 参考技术D 最好找 C#的通用 XML类来弄,不用自己写。追问

我就是用XML 。主要想自导有什么好的方法。XML

第5个回答  2014-12-09 使用linq to xml 只需一句话。
去csdn上注册账号提问。

web.xml中如何读取properties配置文件中的值?

有一个test.properties配置文件,想在web.xml中通过如下方式:<param-value>$config.test</param-value>读取到test.properties配置文件中config.test对应的值

方法如下:

<context-param>


<param-name>log4jConfigLocation</param-name>


<param-value>classpath:/config/log4j.properties</param-value>


</context-param>

补充:

1. XML文件:

XML一般是指可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。

2.XML文件的优点:

1)XML文档内容和结构完全分离。 

2)互操作性强。 

3)规范统一。 

4)支持多种编码。 

5)可扩展性强。

3.如何解析XML文档:

XML在不同的语言中解析XML文档都是一样的,只不过实现的语法不一样,基本的解析方式有两种,一种是SAX方式,是按照XML文件的顺序一步一步解析。另外一种的解析方式DOM方式,而DOM方式解析的关键就是节点。另外还有DOM4J、JDOM等方式。本文介绍的是DOM、DOM4J方式与封装成一个工具类的方式来读取XML文档。

参考技术A <!-- init property files -->
<bean id="propertyConfigurer"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true" />
<property name="locations">
<list>
<value>classpath*:default.properties</value>

</list>
</property>
<bean id="srsClient" class="org.apache.cxf.jaxrs.client.WebClient" factory-method="create">
<constructor-arg type="java.lang.String" value="$srs_api"/>
<constructor-arg type="boolean" value="true" />

</bean>
value="$srs_api"/>

default.properties内容
srs_api=http://localhost:8080/杀杀杀/services/
参考技术B 不是有个config对象吗,这个应该可以获取配置参数的值....你可以试试,jsp和servlet中都可以获取这个对象。 参考技术C <context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:/config/log4j.properties</param-value>
</context-param>追问

这种方法我早试过了,没用,我是要把值读取到web.xml中,再由listener读取

追答



org.springframework.web.util.Log4jConfigListener

log4jConfigLocation
classpath:/config/log4j.properties

会自动装配吧!

追问

我知道你的意思,但是不是我想要的,我自己实现Listener解决了

参考技术D 请问你的问题解决了吗,我也碰到了这样的问题,怎么破。。。

以上是关于C# XML 如何直接根据属性值 读取 对应的值 怎么写???的主要内容,如果未能解决你的问题,请参考以下文章

C#如何读取xml文件里面节点里面的属性信息?

java中如何读取xml中数据。多节点的。给我一个例子,谢谢。

c# 如何通过反射 获取属性值

如何在 C# 中从 XmlNode 读取属性值?

java如何读取xml节点元素值?

使用xslt和c#从中选择​​一个xml节点并根据其值添加更多节点[重复]