Bunun bir çok kez sorulduğunu biliyorum, ancak yine de çalışmaya başlayamıyorum. Xml dizesini Document nesnesine dönüştürüp sonra ayrıştırıyorum. Ben Element Düğüm nesne n dökmejava xml cast Düğüm Node
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.*;
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try
{
builder = factory.newDocumentBuilder();
Document document = builder.parse(new InputSource(new StringReader(result)));
Node head = document.getFirstChild();
if(head != null)
{
NodeList airportList = head.getChildNodes();
for(int i=0; i<airportList.getLength(); i++) {
Node n = airportList.item(i);
Element airportElem = (Element)n;
}
}
catch (Exception e) {
e.printStackTrace();
}
ben bir istisna java.lang.ClassCastException olsun: İşte kod org.apache.harmony.xml.dom.TextImpl org.w3c için döküm edilemez. dom.Element. Düğüm nesnesinin düğüm türünü denetlediğimde, Node.TEXT_NODE diyor. Node.ELEMENT_NODE olması gerektiğine inanıyorum. Ben haklı mıyım
Düğüm Öğeyi Element'e nasıl dönüştürebilirim, böylece element.getAttribute ("attrName") gibi bir şey yapabilirim. peşin
<?xml version="1.0" encoding="utf-8" ?>
<ArrayOfCity xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
<City>
<strName>Abu Dhabi</strName>
<strCode>AUH</strCode>
</City>
<City>
<strName>Amsterdam</strName>
<strCode>AMS</strCode>
</City>
<City>
<strName>Antalya</strName>
<strCode>AYT</strCode>
</City>
<City>
<strName>Bangkok</strName>
<strCode>BKK</strCode>
</City>
</ArrayOfCity>
Teşekkür:
İşte benim XML'dir! Ben Element Düğüm nesne n dökme
İlk düğümün bir öğe veya metin olması gerekip gerekmediğini, gösterme n belge ne? Tamamen ayrıştırıcıdan şüpheleniyorum. Şüpheliyim, muhtemelen sadece eleman olmayan düğümleri atlamak istiyorsun. –
xml'yi ekledim. Düğüm, bir metin değil, bir öğe olmalıdır. Doğrumuyum? –
Student
Evet, ancak ve 'arasında bir metin öğesi (muhtemelen yalnızca bir satır sonu) - ve her bir" "ve" "arasında olduğunu göreceksiniz. –