Java Jsoup和arraylistandroid
我使用jsoup为一个元素成功地从xml内容中提取标记Java Jsoup和arraylistandroid,java,android,xml,jsoup,Java,Android,Xml,Jsoup,我使用jsoup为一个元素成功地从xml内容中提取标记 class Post { private String a; private String b; public void setA (String a){ this.a = a; } public void setB(String b){ this.b =b; } public String getA(){ return a; } public String getB(){ return b
class Post {
private String a;
private String b;
public void setA (String a){
this.a = a;
}
public void setB(String b){
this.b =b;
}
public String getA(){
return a;
}
public String getB(){
return b;
}
}
通过使用arraylist
public ArrayList<Post> PostList = new ArrayList<Post>();
Xml:
<soap:Envelope xmlns:soap="schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<wsListeCompt>
<comptes>
<a>pen drive</a>
<b>jsoup</b>
</comptes>
<comptes>
<a>pen drive</a>
<b>jsoup</b>
</comptes>
<comptes>
<a>pen drive</a>
<b>jsoup</b>
</comptes>
</wsListeCompt>
</soap:Body>
</soap:Envelope>
Elements aElements = doc.select("a");
Elements bElements = doc.select("b");
// This 'if-else' block is optional
if( aElements.size() != bElements.size() )
{
// Error handling - if required
}
else
{
// Iterate over all elements
for( int i = 0; i < aElements.size(); i++ )
{
Post p = new Post(); // Create a Post
p.setA(aElements.get(i).text()); // Set A Value
p.setB(bElements.get(i).text()); // Set B Value
PostList.add(p); // Add the Post to List
}
}
笔式驱动器
jsoup
笔式驱动器
jsoup
笔式驱动器
jsoup
此代码不会编译,因为select()
将返回元素
对象,而不是元素
Elements aElements = doc.select("a"); // Select all a-elements
Elements bElements = doc.select("b"); // Select all b-elements
现在,您可以迭代找到的所有元素,并根据需要存储它们:
for( Element element : aElements )
{
postList.add(element.text());
}
(对b元素也要这样做)
示例:
<soap:Envelope xmlns:soap="schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<wsListeCompt>
<comptes>
<a>pen drive</a>
<b>jsoup</b>
</comptes>
<comptes>
<a>pen drive</a>
<b>jsoup</b>
</comptes>
<comptes>
<a>pen drive</a>
<b>jsoup</b>
</comptes>
</wsListeCompt>
</soap:Body>
</soap:Envelope>
Elements aElements = doc.select("a");
Elements bElements = doc.select("b");
// This 'if-else' block is optional
if( aElements.size() != bElements.size() )
{
// Error handling - if required
}
else
{
// Iterate over all elements
for( int i = 0; i < aElements.size(); i++ )
{
Post p = new Post(); // Create a Post
p.setA(aElements.get(i).text()); // Set A Value
p.setB(bElements.get(i).text()); // Set B Value
PostList.add(p); // Add the Post to List
}
}
Elements aeelements=doc.select(“a”);
元素元素=文件选择(“b”);
//此“if-else”块是可选的
如果(aElements.size()!=bElements.size())
{
//错误处理-如果需要
}
其他的
{
//迭代所有元素
对于(int i=0;i
pen drive jsoup pen drive jsoup pen drive jsoup setter getter呢。如果我说getB(),我需要得到所有的b元素,如果我只需要b中的1个元素,这仍然有效吗?我希望每个a b都在相同的索引中,这是每个comptes在setA(a)中添加a,在setB(b)中添加b。如果我理解正确,你想将xml反序列化为java对象吗Elements
是一个列表,因此如果您只需要一个元素,请调用aeelements.get(0)
(或另一个索引)。顺便说一句。如果要反序列化xml,请查看。