我有這個問題。我有一個XML數據,但不是.xml格式。如何轉義XML空值?
我需要顯示基於搜索關鍵字的結果,然後它以xml格式返回值。但是,有些節點不包含任何值(空值)。我如何逃避這個價值?
我想顯示只有值(非空節點)的節點。謝謝。
這是我的代碼。我是一個java編程的初學者。我儘可能地需要幫助。謝謝大家!
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
InputSource is = new InputSource();
is.setCharacterStream(new StringReader(result));
Document doc = db.parse(is);
NodeList nodes = doc.getElementsByTagName("DOCUMENT");
// iterate the DOCUMENT
out.println("<table border='0'>");
int index_location=nodes.getLength()+1;
for (int i = 0; i < nodes.getLength(); i++) {
locations_array+="[";
Element element = (Element) nodes.item(i);
NodeList IDS = element.getElementsByTagName("IDS");
Element line = (Element) IDS.item(0);
out.println("<tr><td>Company ID :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList FULL_NAME = element.getElementsByTagName("FULL_NAME");
line = (Element) FULL_NAME.item(0);
out.println("<tr><td>Company Name :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
locations_array+="'"+getCharacterDataFromElement(line)+"',";
NodeList AD_WEIGHT = element.getElementsByTagName("AD_WEIGHT");
line = (Element) AD_WEIGHT.item(0);
out.println("<tr><td>AD_WEIGHT :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList MAP = element.getElementsByTagName("MAP");
line = (Element) MAP.item(0);
out.println("<tr><td>Longitude and Latitude :</td><td>");
if (getCharacterDataFromElement(line)!="No data provided."){
String st = getCharacterDataFromElement(line);
String str[] = st.split(":", 2);
String latlong;
latlong = str[1];
out.println(latlong);
locations_array+="'"+latlong+"',";
}else{
out.println("No data provided.");
locations_array+="'0,0',";
}
out.println("</td></tr>");
NodeList STATE = element.getElementsByTagName("STATE");
line = (Element) STATE.item(0);
out.println("<tr><td>State :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList CITY = element.getElementsByTagName("CITY");
line = (Element) CITY.item(0);
out.println("<tr><td>City :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList ADDRESS = element.getElementsByTagName("ADDRESS");
line = (Element) ADDRESS.item(0);
out.println("<tr><td>Address :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList PHONE = element.getElementsByTagName("PHONE");
line = (Element) PHONE.item(0);
out.println("<tr><td>Phone No :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList CLASS_DESC = element.getElementsByTagName("CLASS_DESC");
line = (Element) CLASS_DESC.item(0);
out.println("<tr><td>CLASS_DESC :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList MAIN_CLASS = element.getElementsByTagName("MAIN_CLASS");
line = (Element) MAIN_CLASS.item(0);
out.println("<tr><td>Category :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList URL = element.getElementsByTagName("URL");
line = (Element) URL.item(0);
out.println("<tr><td>Website :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList EMAIL = element.getElementsByTagName("EMAIL");
line = (Element) EMAIL.item(0);
out.println("<tr><td>Email :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList DISPLAY_AD = element.getElementsByTagName("DISPLAY_AD");
line = (Element) DISPLAY_AD.item(0);
out.println("<tr><td>DISPLAY_AD :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList ADV_PATH = element.getElementsByTagName("ADV_PATH");
line = (Element) ADV_PATH.item(0);
out.println("<tr><td>ADV_PATH :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList SORT_NO = element.getElementsByTagName("SORT_NO");
line = (Element) SORT_NO.item(0);
out.println("<tr><td>SORT_NO :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
NodeList TOTAL_ADDRESS = element.getElementsByTagName("TOTAL_ADDRESS");
line = (Element) TOTAL_ADDRESS.item(0);
out.println("<tr><td>TOTAL_ADDRESS :</td><td>");
out.println(getCharacterDataFromElement(line));
out.println("</td></tr>");
out.println("<tr><td> </td><td> </td></tr>");
index_location--;
locations_array+="'"+index_location+"']";
//locations_array+=",";
}
out.println("</table>");
這是示例XML
<DOCUMENT>
<IDS>53850_WP</IDS>
<FULL_NAME>xxx</FULL_NAME>
<AD_WEIGHT>60</AD_WEIGHT>
<MAP>1111:1.12344556,111.67890</MAP>
<STATE>xxx xxx</STATE>
<CITY>xxxx</CITY>
<ADDRESS>123 xxx xxxx xxx</ADDRESS>
<PHONE>12-12344551</PHONE>
<CLASS_DESC>Banks</CLASS_DESC>
<MAIN_CLASS>Banks</MAIN_CLASS>
<URL>www.qwe.com</URL>
<EMAIL>[email protected]</EMAIL>
<DISPLAY_AD />
<ADV_PATH />
<SORT_NO>123</SORT_NO>
<TOTAL_ADDRESS>123</TOTAL_ADDRESS>
<INLINE_IMAGE />
<E_PRODUCT />
<FIELD1 />
</DOCUMENT>
從樣品,有喜歡<INLINE_IMAGE>
,<E_PRODUCT>
和<FIELD1>
空節點。我如何從結果頁面中顯示來避免這種情況?
[堆棧溢出不會讀了這一切。(http://meta.stackexchange.com/a/129787/133242) –