perl的xml::dom功能很強大,利用它可以輕易地分析xml文件,也可以建立xml文件。
常用的類包括:
xml::dom::node:所有類的基類,表示乙個xml節點。
xml::dom::parser:xml解析器,將xml字串解析成xml::dom::document物件。
xml::dom::document:指向xml文件的根節點。
xml::dom::element:指向乙個元素,通常由xml::dom::document->createelement元素生成。
其他的類可以檢視cpan
上關於 xml::dom 的說明。
建立xml文件的通常做法是:首先通過 xml::dom::parser生成乙個document物件,
再通過這個document物件的 createelement、createtextnode 等方法生成各個節點,
最後再通過 tostring 方法將 document 轉換為字串輸出。
下面是建立xml文件的乙個例子:
#!/usr/bin/perl
use xml::dom;
use xml::twig;
# 建立xml的最外層元素
my $xml = "";
# 通過xml::dom::parser解析外層元素,建立基礎xml文件
# xml::dom::parser::parse函式的返回值為 xml::dom::document 類
my $parser = new xml::dom::parser;
my $dom = $parser->parse($xml);
# 生成book節點
# createelement的返回值為 xml::dom::element 類
# xml::dom::element 的父類是 xml::dom::node 類
my $book = $dom->createelement("book");
# 設定節點屬性
$book->setattribute("title", "my first book");
$book->setattribute("author", "charlee");
# 生成chapter節點
my $chapter = $dom->createelement("chapter");
$chapter->setattribute("id", "1");
# 生成乙個文字節點
my $title = $dom->createtextnode("my first chapter");
# 新增chapter到book
# 新增book到xml文件
# 利用xml::twig整理格式
my $twig = new xml::twig;
$twig->set_indent(" "x4);
$twig->parse($dom->tostring);
$twig->set_pretty_print("indented");
# 輸出
print $twig->sprint;
最後一段使用xml::twig的程式只是為了整理xml輸出結果的格式,
如果不需要整理格式,不呼叫xml::twig,直接使用$dom->tostring也可以。
利用perl 改寫awk統計
root dwh1 log who dwetl pts 0 2015 03 05 16 29 10.130.136.56 dwetl pts 1 2014 12 12 20 41 10.129.133.154 dwetl pts 2 2015 03 09 15 57 10.129.224.28 ro...
python xml生成 python 生成xml
用到這個模組的時候,感覺網上大部分資料比較繁瑣,所以自己寫了個簡單的def 其實最主要掌握以下幾個函式 1.doc xml.dom.minidom.document 生成xml的dom樹物件 2.root doc.createelement root 建立樹節點,可以使根節點或者是子節點 3.chi...
利用mysql生成UUID
在日常的開發環境中,我們經常使用uuid來當做主鍵,一般我們使用的都是現成的工具類,但其實mysql就可以生成uuid。mysql生成uuid是使用的uuid 函式,如下圖 但是生成的這個uuid中間是有 隔開的,我們一般是不要的,所以需要將 去掉。這裡我們使用replace 函式來實現去掉 這樣,...