public class xmlutil
/*** parse xml from xmlstring
* * @param xmlstring
* @param usenamespace
* @return
* @throws parserconfigurationexception
* @throws saxexception
* @throws ioexception
*/public document parsefromstring(string xmlstring,
boolean usenamespace) throws parserconfigurationexception,
saxexception, ioexception, exception
bytearrayinputstream bais = new bytearrayinputstream(xmlstring
.getbytes());
return parse(bais, usenamespace);
}public document parse(inputstream is, boolean usenamespace)
throws parserconfigurationexception, saxexception, ioexception
factory.setnamespaceaware(usenamespace);
//if (builder == null)
document dom = builder.parse(is);
return dom;
}/**
* example, node string: 2,return "2";
* * @param node
* @return
*/public string getnodetext(node node)
node innertext = node.getfirstchild();
if (innertext != null && innertext.getnodetype() == node.text_node)
// if innertext is null such as , return ""
if (innertext == null)
return s;
}/**
* example, node string:13 ,return
* that first node named $nodename
* * if namespaceuri is null ,ignore it.
* * @param parent
* @param namespaceuri
* @param nodename
* @return
*/public node getsinglenode(node pnode, string namespaceuri,
string nodename) else
}return null;
}/**
* example, node string:1
*23,return all nodes named $nodename;
* * if namespaceuri is null ,ignore it.
* * @param pnode
* @param namespaceuri
* @param nodename
* @return
*/public listgetnodelist(node pnode, string namespaceuri,
string nodename)
} else }}
return nodesneeds;
}/**
* get first none text node.
* * @param pnode
* @return
*/public node getfirstnode(node pnode)
}return node;
}/**
* example, node string: ,if $nodename="b",return
* "1";
* * if namespaceuri is null ,ignore it.
* * @param node
* @param namespaceuri
* @param attname
* @return
*/public string getattributevalue(node node, string namespaceuri,
string attname) else
}public static msg parsefromstring(string xmlstring) throws exception
listnodelist2=xmlutil.getnodelist(root,null,"body");
listlist=getbody(nodelist2);
msg.setbodylist(list);
return msg;
}catch (exception e)
}
XML解析工具類
xml解析工具類的封裝 之前在csdn上面寫了關於xml檔案的解析 那都是一些本地資料 今天 在開發的過程中涉及到 從伺服器返回xml檔案格式的資料 稍後會寫一些關於http請求的封轉 返回json格式的資料的部落格 到時候和大家一起分享 希望大家更多的和我一起進行討論和學習。主要實現的思路是 先傳...
python解析xml檔案工具
文章參考 xml是一種廣泛使用的格式,python自身附帶了乙個完整的xml解析工具包,它支援sax和dom解析模式,此外還有乙個名為elementtree的包。這是特定於python的專門用於解析和構造xml的api。除了基本的解析,開源領域還提供了額外的xml工具,例如xpath xquery ...
XML 解析類庫對比
在iphone開發中,xml的解析有很多選擇,僅ios sdk就提供了nsxmlparser和libxml2兩個類庫,還有如tbxml touchxml kissxml tinyxml和gdataxml等第三方類庫。解析xml通常有兩種方式 dom和sax dom解析xml時,讀入整個xml文件並構...