
XmlDocument先把xml load进来。。
//取所有root节点子节点
XmlNodeList nodeList = docSelectNodes("/root");
for each(XmlNode node in nodeList) //遍历每一个子节点
{
//分别读取子节点的需要节点值,自己存吧,反正这么取的
string elementValue=nodeSelectSingleNode("//elementValue")InnerTextToString();
string elementScore=nodeSelectSingleNode("//elementScore")InnerTextToString();
}
foreach (XmlElement parameterEl in NodeList)
{
string name = parameterElGetAttribute("name");
if(name == "张三")
{
string id = parameterElGetAttribute("id");
}
}
给个例子你, 自己去套用就行给你
<xml version="10" encoding="utf-8"><Accounts>
<Account type="type1">
<code>100001</code>
<pass>123</pass>
<name>李四</name>
<money>100000000</money>
</Account>
<Account type="type2">
<code>100002</code>
<pass>123</pass>
<name>张三</name>
<money>100000</money>
</Account>
</Accounts>
java代码解析:
import javaio;/
xml文件解析
@author young
/
import javaxxmlparsersDocumentBuilder;
import javaxxmlparsersDocumentBuilderFactory;
import orgw3cdomDocument;
import orgw3cdomElement;
import orgw3cdomNode;
import orgw3cdomNodeList;
public class XmlExam {
public static void main(String args[]) {
Element element = null;
// 可以使用绝对路劲
File f = new File("xmlxml");
// documentBuilder为抽象不能直接实例化(将XML文件转换为DOM文件)
DocumentBuilder db = null;
DocumentBuilderFactory dbf = null;
try {
// 返回documentBuilderFactory对象
dbf = DocumentBuilderFactorynewInstance();
// 返回db对象用documentBuilderFatory对象获得返回documentBuildr对象
db = dbfnewDocumentBuilder();
// 得到一个DOM并返回给document对象
Document dt = dbparse(f);
// 得到一个elment根元素
element = dtgetDocumentElement();
// 获得根节点
Systemoutprintln("根元素:" + elementgetNodeName());
// 获得根元素下的子节点
NodeList childNodes = elementgetChildNodes();
// 遍历这些子节点
for (int i = 0; i < childNodesgetLength(); i++) {
// 获得每个对应位置i的结点
Node node1 = childNodesitem(i);
if ("Account"equals(node1getNodeName())) {
// 如果节点的名称为"Account",则输出Account元素属性type
Systemoutprintln("\r\n找到一篇账号 所属区域: "
+ node1getAttributes()getNamedItem("type")
getNodeValue() + " ");
// 获得<Accounts>下的节点
NodeList nodeDetail = node1getChildNodes();
// 遍历<Accounts>下的节点
for (int j = 0; j < nodeDetailgetLength(); j++) {
// 获得<Accounts>元素每一个节点
Node detail = nodeDetailitem(j);
if ("code"equals(detailgetNodeName())) // 输出code
Systemout
println("卡号: " + detailgetTextContent());
else if ("pass"equals(detailgetNodeName())) // 输出pass
Systemout
println("密码: " + detailgetTextContent());
else if ("name"equals(detailgetNodeName())) // 输出name
Systemout
println("姓名: " + detailgetTextContent());
else if ("money"equals(detailgetNodeName())) // 输出money
Systemout
println("余额: " + detailgetTextContent());
}
}
}
} catch (Exception e) {
eprintStackTrace();
}
}
}
创建解析器
SAXReader saxreader = new SAXReader();
读取文档
Document doc = saxreaderread(new File("url"));
获取根
Element root = docgetRootElement();
获取子节点
List<Element> list = rootelements();
Systemoutprintln(eelementText("name"));
Systemoutprintln(eelement("score")attributeValue("java"));
Reader reader = new InputStreamReader(con
getInputStream());
SAXReader sax = new SAXReader();
// saxsetEncoding("GBK");
Document document = saxread(reader);
documentsetXMLEncoding("GBK");
Element root = documentgetRootElement();
// Document doc = readerread(read);
// Element root = docgetRootElement();
readNode(root, "");
public static void readNode(Element root, String prefix) {
if (root == null) return;
// 获取属性
List<Attribute> attrs = rootattributes();
if (attrs != null && attrssize() > 0) {
Systemerrprint(prefix);
for (Attribute attr : attrs) {
Systemerrprint(attrgetValue() + " ");
}
Systemerrprintln();
}
// 获取他的子节点
List<Element> childNodes = rootelements();
prefix += "\t";
for (Element e : childNodes) {
//输出内容
Systemerrprintln(egetName()+":"+egetData());
readNode(e, prefix);
}
}
public class StudentTest {
public static void main(String[] args) throws Exception {
DocumentBuilderFactory factory = DocumentBuilderFactorynewInstance();
DocumentBuilder db = factorynewDocumentBuilder();
Document document = dbparse(new File("studentxml"));
NodeList node = documentgetElementsByTagName("学生");
for(int i=0;i<nodegetLength();i++){
Element element = (Element)nodeitem(i);
// 获取属性学号
String content = elementgetAttribute("学号");
Systemoutprintln("学号:" + content);
content = elementgetElementsByTagName("姓名")item(0)getFirstChild()getNodeValue();
Systemoutprintln("姓名:" + content);
content = elementgetElementsByTagName("性别")item(0)getFirstChild()getNodeValue();
Systemoutprintln("性别:" + content);
content = elementgetElementsByTagName("年龄")item(0)getFirstChild()getNodeValue();
Systemoutprintln("年龄:" + content);
Systemoutprintln();
}
}
}// 被解析的XML文件内容(studentxml)
<xml version="10" encoding="UTF-8">
<学生名册>
<学生 学号="0001214">
<姓名>张燕</姓名>
<性别>女</性别>
<年龄>22</年龄>
</学生>
<学生 学号="0001239">
<姓名>李继成</姓名>
<性别>男</性别>
<年龄>22</年龄>
</学生>
<学生 学号="0001275">
<姓名>华伟</姓名>
<性别>男</性别>
<年龄>22</年龄>
</学生>
</学生名册>
自己慢慢看吧;
// 获取属性学号
String content = elementgetAttribute("学号");
Systemoutprintln("学号:" + content);
以上就是关于.net读取XML子节点的值全部的内容,包括:.net读取XML子节点的值、如何根据xml中的一个值来获取同父节点下的另一个子节点的值、java jdom获取xml的所有子节点包括节点里的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)