此响应的格式与我使用的格式略有不同。子节点都是单个元素的一部分。所有孩子都有相同的名称,标签是通用格式。我需要每个节点都包含一个记录。传统的程序逻辑不考虑多个同名儿童。我考虑过创建一个由命名的子节点组成的附加元素,然后提取每个节点的值。这是正确的方法,还是应该处理这种类型的响应?最后,这个响应格式是否正确?看起来这个结构不适合解析。
<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>
答案 0 :(得分:0)
将元素名称隐藏为<name>
元素中的值确实很奇怪,因为这违反了XML的思想。但基本上它是一个结构良好的文件。
我会按照你的建议做同样的事情:根据你是否需要另一个XML或只是对象中的数据,我会创建一个带有相应元素/属性名称的xml元素或java对象,并从这些属性中提取值-elements。同名儿童很常见,绝不应该妨碍解析。
答案 1 :(得分:0)
Use simple-xml.jar library and
Create
class Properties{
List<Property> Property;
}
Class Property{
String Name,Value,Type;
}