簡體   English   中英

使用Java解析每個元素具有多個同名子級的XML

[英]Parsing XML with multiple same name child per Element with java

此響應的格式與我習慣的格式有些不同。 子節點都是單個元素的一部分。 所有子代都具有相同的名稱,並且標記采用通用格式。 我需要這些節點中的每一個都包含一條記錄。 常規程序邏輯不考慮多個同名子代。 我考慮過創建一個由命名子節點組成的附加元素,然后提取每個節點的值。 這是正確的方法,還是應該以其他方式處理這種類型的響應? 最后,此響應的格式是否正確? 似乎此結構不適合進行解析。

<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>

將元素名稱隱藏為<name>元素中的值確實很奇怪,因為這違反了XML的概念。 但基本上,它是格式良好的文檔。

我會按照您的建議執行相同的操作:根據您是否需要另一個XML還是對象中的數據,我將創建一個具有適當元素/屬性名稱的xml元素或java對象,並將這些值從那些屬性元素中提取出來。 同名子代非常常見,絕不應妨礙解析。

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

   }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM