Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
读取具有多个节点的特定子节点的XML文件 试试看{ 文件fXmlFile=新文件(“C:/Users/priran/Desktop/vendavo2013111830948370.xml”); DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder=dbFactory.newDocumentBuilder(); documentdoc=dBuilder.parse(fXmlFile); //可选,但推荐 //请阅读以下内容-http://stackoverflow.com/questions/13786607/normalization-in-dom- //用java解析它是如何工作的 doc.getDocumentElement().normalize(); System.out.println(“根元素:+doc.getDocumentElement().getNodeName()); NodeList nList=doc.getElementsByTagName(“VUser”); System.out.println(“-------------------------------”; 对于(int-temp=0;temp_Java_Xml - Fatal编程技术网

读取具有多个节点的特定子节点的XML文件 试试看{ 文件fXmlFile=新文件(“C:/Users/priran/Desktop/vendavo2013111830948370.xml”); DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder=dbFactory.newDocumentBuilder(); documentdoc=dBuilder.parse(fXmlFile); //可选,但推荐 //请阅读以下内容-http://stackoverflow.com/questions/13786607/normalization-in-dom- //用java解析它是如何工作的 doc.getDocumentElement().normalize(); System.out.println(“根元素:+doc.getDocumentElement().getNodeName()); NodeList nList=doc.getElementsByTagName(“VUser”); System.out.println(“-------------------------------”; 对于(int-temp=0;temp

读取具有多个节点的特定子节点的XML文件 试试看{ 文件fXmlFile=新文件(“C:/Users/priran/Desktop/vendavo2013111830948370.xml”); DocumentBuilderFactory dbFactory=DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder=dbFactory.newDocumentBuilder(); documentdoc=dBuilder.parse(fXmlFile); //可选,但推荐 //请阅读以下内容-http://stackoverflow.com/questions/13786607/normalization-in-dom- //用java解析它是如何工作的 doc.getDocumentElement().normalize(); System.out.println(“根元素:+doc.getDocumentElement().getNodeName()); NodeList nList=doc.getElementsByTagName(“VUser”); System.out.println(“-------------------------------”; 对于(int-temp=0;temp,java,xml,Java,Xml,我试图阅读下面的XML try { File fXmlFile = new File("C:/Users/priran/Desktop/vendavo20131118030948370.xml"); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder dBuilder = dbFactory.newDocumentBuilder(); Document doc = dBu

我试图阅读下面的XML

try {
File fXmlFile = new File("C:/Users/priran/Desktop/vendavo20131118030948370.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);

//optional, but recommended
//read this - http://stackoverflow.com/questions/13786607/normalization-in-dom-
//parsing-with-java-how-does-it-work
doc.getDocumentElement().normalize();
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());

NodeList nList = doc.getElementsByTagName("VUser");

System.out.println("----------------------------");

for (int temp = 0; temp < nList.getLength(); temp++) {

Node nNode = nList.item(temp);

System.out.println("\nCurrent Element :" + nNode.getNodeName());

if (nNode.getNodeType() == Node.ELEMENT_NODE) {

Element eElement = (Element) nNode;



System.out.println(eElement.getElementsByTagName("VName").item(0)
    .getTextContent());
System.out.println(eElement.getElementsByTagName("VPassword").item(0)
.getTextContent());
System.out.println(eElement.getElementsByTagName("VFullName").item(0)
.getTextContent());
System.out.println(eElement.getElementsByTagName("VValidity").item(0).
getTextContent());
System.out.println(eElement.getElementsByTagName("VDefaultUOM").item(0)
.getTextContent());
System.out.println(eElement.getElementsByTagName("VDefaultCurrency").item(0)
.getTextContent());
System.out.println(eElement.getElementsByTagName("VGroups").item(0).
getTextContent());
System.out.println(eElement.getElementsByTagName("VRoles").item(0).
getTextContent());
System.out.println(eElement.getElementsByTagName("VIsSysAdmin").item(0).
getTextContent());
System.out.println(eElement.getElementsByTagName("VUIProfile").item(0).
getTextContent());
System.out.println(eElement.getElementsByTagName("VTimeZone").item(0).
getTextContent());
System.out.println(eElement.getElementsByTagName("VDefaultLocale").item(0).
getTextContent());


}
}
} catch (Exception e) {
e.printStackTrace();
}
-
- 
名称
密码
全名
有效性
默认计量单位
默认货币
- 
组
- 
角色
伊西萨明
UIProfile
时区
默认语言环境
- 
麦克伦杰
abcdefg1
杰克·麦克伦登
2001年1月1日
基础
美元
- 
全国
所有产品
- 
业务分析师
假的
业务分析师
美国/东部
恩努斯
- 
杜瓦伦
abcdefg1
马克·杜瓦尔
2001年1月1日
基础
美元
- 
美国
加利福尼亚州
2610
- 
业务分析师
假的
业务分析师
美国/东部
恩努斯
我无法读取VGroups标记中分别包含US CA 2610值的VGroup标记。我能够读取标记,但当标记包含子元素时,我无法读取该元素。
请提供帮助。

在打印之前,只需检查子元素,如果子元素计数大于1,则获取内部文本内容并将其保存在某个位置,最后连接al并打印

- <entity-data>
- <VUser>
  <VName>Name</VName> 
  <VPassword>Password</VPassword> 
  <VFullName>FullName</VFullName> 
  <VValidity>Validity</VValidity> 
  <VDefaultUOM>DefaultUOM</VDefaultUOM> 
  <VDefaultCurrency>DefaultCurrency</VDefaultCurrency> 
- <VGroups>
  <VGroup>Groups</VGroup> 
  </VGroups>
- <VRoles>
  <VRole>Roles</VRole> 
  </VRoles>
  <VIsSysAdmin>IsSysAdmin</VIsSysAdmin> 
  <VUIProfile>UIProfile</VUIProfile> 
  <VTimeZone>TimeZone</VTimeZone> 
  <VDefaultLocale>DefaultLocale</VDefaultLocale> 
  </VUser>
- <VUser>
  <VName>MCLENDJ</VName> 
  <VPassword>abcdefg1</VPassword> 
  <VFullName>Jack McLendon</VFullName> 
  <VValidity>1/1/2001..eot</VValidity> 
  <VDefaultUOM>Base</VDefaultUOM> 
  <VDefaultCurrency>USD</VDefaultCurrency> 
- <VGroups>
  <VGroup>AllCountrys</VGroup> 
  <VGroup>AllProducts</VGroup> 
  </VGroups>
- <VRoles>
  <VRole>BusinessAnalyst</VRole> 
  </VRoles>
  <VIsSysAdmin>FALSE</VIsSysAdmin> 
  <VUIProfile>BusinessAnalyst</VUIProfile> 
  <VTimeZone>US/Eastern</VTimeZone> 
  <VDefaultLocale>en_US</VDefaultLocale> 
  </VUser>
- <VUser>
  <VName>DUVALLM</VName> 
  <VPassword>abcdefg1</VPassword> 
  <VFullName>Mark Duvall</VFullName> 
  <VValidity>1/1/2001..eot</VValidity> 
  <VDefaultUOM>Base</VDefaultUOM> 
  <VDefaultCurrency>USD</VDefaultCurrency> 
- <VGroups>
  <VGroup>US</VGroup> 
  <VGroup>CA</VGroup> 
  <VGroup>2610</VGroup> 
  </VGroups>
- <VRoles>
  <VRole>BusinessAnalyst</VRole> 
  </VRoles>
  <VIsSysAdmin>FALSE</VIsSysAdmin> 
  <VUIProfile>BusinessAnalyst</VUIProfile> 
  <VTimeZone>US/Eastern</VTimeZone> 
  <VDefaultLocale>en_US</VDefaultLocale> 
  </VUser>
  </entity-data>