xml解析工具類

2021-06-07 08:09:03 字數 2686 閱讀 4988

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文件並構...