1

コード Java のみを使用して、これらの行でルート名を取得できます。

Element root = document.getDocumentElement();

で名前を取得しますroot.getNodeName()

しかし、Android 環境では、たとえば「aluno」という名前をルート名として取得するにはどうすればよいですか?

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 
   xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap:Body>
<ns1:autenticaAlunoResponse xmlns:ns1="http://xfire.codehaus.org/AlunoService">
<aluno xmlns="urn:bean.wsi.br">
<matricula xmlns="http://bean.wsi.br">61203475</matricula>
<turma xmlns="http://bean.wsi.br"><codigo>2547</codigo>
<nome>B</nome>
</turma>
</aluno>
</ns1:autenticaAlunoResponse>
</soap:Body>
</soap:Envelope>

更新(以下のコメントからコピー):

私は Ksoap2 を使用しており、SAX を使用して解析しようとしています。

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
DocumentBuilder db; 
db = dbf.newDocumentBuilder(); 
InputSource is = new InputSource(); 
is.setCharacterStream(new StringReader(xml)); 
Document doc = db.parse(is);
4

1 に答える 1

1

あなたの例では、「aluno」がタグ名として表示されます。Jsoupを使用している場合は、タグで要素を検索し、tagNameメソッドを使用してその名前を取得できます。

Document doc;
Elements tagName;
String name;

try {
    doc = Jsoup.connect(url).userAgent("Mozilla").get();
} catch (IOException ioe) {
ioe.printStackTrace();
}

doc.select("aluno");
name = tagName.tagName();
于 2013-01-03T17:52:30.550 に答える