JAL的XML解析器

2021-04-02 07:49:13 字數 1654 閱讀 9830

基於sax的,試了一下,相當好用

procedure tform1.domview(document: idocument; view: ttreeview);

procedure par***mlnode(datanode: ielement; treenode: ttreenode);

vari: iiterator;

n: ttreenode;

child: ielement;

attr: tstrings;

s: string;

begin

i := datanode.children.iterator;

while i.hasnext do

begin

if 0 = (i.next as inode).queryinte***ce(ielement, child)  then

begin

attr := xmlattstostrings(child);

trys := format('%s[%s]', [child.name, attr.commatext]);

n := view.items.addchild(treenode, s);

par***mlnode(child, n)

finally

attr.free;

end;

end;

end;

end;

begin

par***mlnode(fdocument.root, view.topitem);

end;

function xmlattstostrings(node: ielement): tstrings;

vari :iiterator;

child: jalminidom.inode;

text : jalminidom.itextnode;

s    : string;

begin

result := tstringlist.create;

tryi := node.attributes.iterator;

while i.hasnext do

begin

with i.next as iattribute do

begin

if value <> '' then

result.values[name] := value

else

result.add(name + '=');

end;

end;

s := '';

i := node.children.iterator;

while i.hasnext do

begin

child := i.next as inode;

if 0 = child.queryinte***ce(itextnode, text)  then

s := s + text.text;

end;

s := trimright(s);

if s <> '' then

result.values['text'] := s;

except

freeandnil(result);

raise;

end;

end;

pull解析器解析xml

利用pull解析xml檔案需要下面幾個步驟 1 獲取xmlpullparser物件。這裡有兩個方法 通過xmlpullparse ctory獲取xmlpullparser物件,或者直接使用xml.newpullparser 方法獲取。栗子如 一所示。2 通過xmlpullparser物件設定輸入流。...

XML解析 Jsoup解析器

jsoup快捷查詢方式 jsoup概念 跳轉到目錄 jsoup基本使用 提取碼 0uvi 獲取document物件 獲取對應標籤的element物件 獲取資料 public static void getfirstname throws exception jsoup中的物件 跳轉到目錄 獲取對應的...

XML 解析之 jaxp 解析器

sax 解析 採用事件驅動,邊讀邊解析.從上到下,一行一行的解析,解析到某一個物件,把物件返回.xml 解析器 sax 解析使用到的類 jaxp 解析器的 dom 方式解析 xml 檔案 documentbuilder 解析器類 documentbuilde ctory 解析器工廠 使用 jaxp ...

XML檔案解析器TXml

前幾天看了開源的xml檔案解析器tinyxml,它是怎麼實現解析的沒怎麼看懂,於是決定自己實現一個,反正最近不忙。先命名為txml。現在完成了解析和查詢功能,全部 加起來不到1000行,將會繼續完善它。原始碼必共享 先簡單說一下我的思路 1 讀取xml檔案資訊,並存入一個字元陣列中 2 遍歷陣列,將...

XML檔案解析器TXml

前幾天看了開源的xml檔案解析器tinyxml,它是怎麼實現解析的沒怎麼看懂,於是決定自己實現一個,反正最近不忙。先命名為txml。現在完成了解析和查詢功能,全部 加起來不到1000行,將會繼續完善它。原始碼必共享 先簡單說一下我的思路 1 讀取xml檔案資訊,並存入一個字元陣列中 2 遍歷陣列,將...