分割XML行我有一段XML代碼類似下面,我將在這個閱讀和換行符把它分解通過線
<head>
<name>states.opml</name>
<Created>Tue, 15 Mar 2005 16:35:45 GMT</Created>
<Modified>Thu, 14 Jul 2005 23:41:05 GMT</Modified>
<owner>Dave Winer</owner>
<Email>[email protected]</Email>
<expansion>1, 6, 13, 16, 18, 20</expansion>
<vertScrollState>1</vertScrollState>
<windowTop>106</windowTop>
<windowLeft>106</windowLeft>
<windowBottom>558</windowBottom>
<windowRight>479</windowRight>
</head>
我的Perl代碼:
my $xml=<STDIN>;
my @head=split(/\n/,$xml);
print length(@head);
#output is 1...split is not working at all
我想要什麼是: 我要的是一個字符串數組是這樣的:
@head={<head>,
<name>states.opml</name>,
<Created>Tue, 15 Mar 2005 16:35:45 GMT</Created>,
<Modified>Thu, 14 Jul 2005 23:41:05 GMT</Modified>,
<owner>Dave Winer</owner>,
<Email>[email protected]</Email>,
<expansion>1, 6, 13, 16, 18, 20</expansion>,
<vertScrollState>1</vertScrollState>,
<windowTop>106</windowTop>,
<windowLeft>106</windowLeft>,
<windowBottom>558</windowBottom>,
<windowRight>479</windowRight>,
</head>}
能有人幫助?我知道XML :: XMLin,但不允許使用它。
謝謝!
爲什麼?如果你要處理XML,爲什麼不把它作爲XML來處理,而不是將它轉換成不同的格式,爲此你必須編寫一個解析器? – mirod
@mirod是正確的。這個解決方案對源數據的改變非常脆弱。例如,XML規範中沒有任何內容阻止整個XML文件出現在單行上。 –
似乎與某些類的任務類似。沒有實用的方法,只是測試基本技能 –