Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.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
使用java解析每个元素具有多个同名子元素的XML_Java_Xml_Parsing_Response - Fatal编程技术网

使用java解析每个元素具有多个同名子元素的XML

使用java解析每个元素具有多个同名子元素的XML,java,xml,parsing,response,Java,Xml,Parsing,Response,此响应的格式与我使用的有点不同。子节点都是单个元素的一部分。所有子项都具有相同的名称,并且标记采用通用格式。我需要每个节点组成一个记录。传统的程序逻辑不考虑多个同名子级。我考虑过创建一个额外的元素,该元素由命名的子节点组成,然后提取每个节点的值。这是正确的方法,还是有其他处理此类响应的方法?最后,此响应的格式是否正确?这种结构似乎不适合解析 <Properties xmlns="urn:Microsoft.Search.Response.Document.Document">

此响应的格式与我使用的有点不同。子节点都是单个元素的一部分。所有子项都具有相同的名称,并且标记采用通用格式。我需要每个节点组成一个记录。传统的程序逻辑不考虑多个同名子级。我考虑过创建一个额外的元素,该元素由命名的子节点组成,然后提取每个节点的值。这是正确的方法,还是有其他处理此类响应的方法?最后,此响应的格式是否正确?这种结构似乎不适合解析

<Properties xmlns="urn:Microsoft.Search.Response.Document.Document">
     <Property>
         <Name>USERPROFILE_GUID</Name>
         <Type>String</Type>
         <Value>XXXXX97D-6XX7-XXX9-XX0A-XXXXXF0D5</Value>
     </Property>
     <Property>
         <Name>ACCOUNTNAME</Name>
         <Type>String</Type>
         <Value>APAC\johnny.good</Value>
     </Property>
     <Property>
         <Name>USERNAME</Name>
         <Type>String</Type>
         <Value>johnny.good</Value>
     </Property>
     <Property>
         <Name>PREFERREDNAME</Name>
         <Type>String</Type>
         <Value>Good, Johnny</Value>
     </Property>
     <Property>
         <Name>FIRSTNAME</Name>
         <Type>String</Type>
         <Value>Johnny</Value>
     </Property>
     <Property>
         <Name>LASTNAME</Name>
         <Type>String</Type>
         <Value>Good</Value>
     </Property>
 </Properties>

用户配置文件\u GUID
一串
XXXXX 97D-6XX7-XXX9-XX0A-XXXXX F0D5
帐户名
一串
亚太地区\约翰尼。好
用户名
一串
约翰尼,很好
首选名称
一串
很好,约翰尼
名字
一串
约翰尼
姓氏
一串
好

将元素名作为值隐藏在
元素中确实很奇怪,因为这违反了XML的理念。但它基本上是一份格式良好的文件

我会按照您的建议做:根据您是需要另一个XML还是只需要对象中的数据,我会创建一个具有适当元素/属性名称的XML元素或java对象,并从这些属性元素中提取值。同名子项非常常见,不应妨碍解析。

使用simple-xml.jar库和
  Use simple-xml.jar library and 
  Create 
  class Properties{
  List<Property> Property;
   }
  Class Property{
  String Name,Value,Type;

   }
创造 类属性{ 财产清单; } 类属性{ 字符串名称、值、类型; }
考虑使用JAXB来解组XML文档。有趣的是,我从未使用过simple-XML.jar。从您的代码片段中看起来非常直接。我会调查的。谢谢。这或多或少是我想的。这个simple-xml.jar听起来是一个更好的解决方案。你每天都会学到新东西。