Ich bin aufgrund von Leerzeichen in der XML-Datei mit einem Problem konfrontiert. Ich möchte Daten aus XML lesen, aber ich habe verschiedene Probleme aufgrund von Leerzeichen zwischen den Knoten.XML kann aufgrund von Leerzeichen in der XML-Datei nicht gelesen werden
Ex.
If a node has 4 childs, due to the spaces it shows 9 childs to the node. So when I try to display node values in table, some columns without heading and without data are also created.
When I removed these spaces I read my file successfully without any problem.
Wie ein solches Problem beheben? Denn ich kann nicht immer weiße Flecken aus der Datei entfernen, da ich mehrere XML-Dateien lese. Es wird also mühsam sein, Leerzeichen aus jeder Datei zu entfernen.
Document doc;
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
doc = dBuilder.parse(fp);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("parameter");
nodeName = name;
for (int temp = 0; temp < nList.getLength();temp++)
{
Node nNode = (Node) nList.item(temp);
Element eElement = (Element) nNode;
String upname1 = getTagValue("name", eElement);
System.out.println(nodeName+" UP: "+upname1);
if(upname1.equals(nodeName))
{
NodeList pvalList = eElement.getElementsByTagName("paramvalues");
for(int l=0; l< pvalList.getLength(); l++)
{
Node pNode = (Node) pvalList.item(l);
NodeList valList = pNode.getChildNodes();
for(int j=0; j<valList.getLength(); j++)
{
Node valNode = (Node) valList.item(j);
if(valNode.getNodeName().equals("value"))
{
NamedNodeMap att = valNode.getAttributes();
for(int s=0; s<att.getLength(); s++)
{
Node n1 = att.item(s);
System.out.println("len: "+att.getLength());
if(n1.getNodeName().equals("default"))
def = n1.getNodeValue();
if(n1.getNodeName().equals("actualvalue"))
aval = n1.getNodeValue();
}
}
}
}
}
}
Ich weiß das ein seltsames Problem, aber es wird irritierend, während ich meine Arbeit beende.
Plz helfen .. Danke ..
Können Sie Ihren problematischen Java-Code zeigen? –
Es ist wahrscheinlich, weil Ihr Code nicht überprüft, ob ein Knoten eine Instanz von 'Element' ist. Wahrscheinlich müssen Sie Textknoten herausfiltern. Es ist ziemlich einfach, aber Sie müssen etwas Code zeigen :) – laher
1. versuchen Sie und 'normalize()' die XML-Daten vor dem Analysieren es. 2. Bitte fügen Sie etwas Code ein! –