.net读取XML子节点的值

.net读取XML子节点的值,第1张

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的所有子节点包括节点里的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/10155771.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-05
下一篇2023-05-05

发表评论

登录后才能评论

评论列表(0条)

    保存