2010-01-21 74 views
0

UPDATE:如何在Perl中合併兩個XML文件?

讓我去更多的細節(如需要)

我有2個Perl的文件,第一個生成一個XML請求/ POST(沒有文件製成)。 第二個文件是新的,它打算在某些條件下在XML內添加另一個元素。我遇到的問題是第一個文件已經檢查了條件,但需要第二個文件來生成新的XML。如何將XML添加到第二個文件中的第一個文件?

是這樣的:

(文件#3使用文件#1)

use file1 

my $xml = File1->new(); 

# Set some properties 

# Now adding XML from file #2 
my $addXML = File2->new(); 

# Set some more properties 

# File1 needs to check if the XML or Object from File2 
# exists to add the XML to File1, else throw error. 

我希望這有助於和遺憾的第一篇文章。

+4

提供簡短的代碼示例的確會打開什麼在你的頭腦給他人。我不知道你在做什麼。你在說什麼**這個**? – 2010-01-21 16:08:00

+0

sry我開發的大多數代碼都是在內部使用,並不是一個選項,而且使suedo代碼也很麻煩。將努力做到更好,SRY再次:( – 2010-01-21 16:11:45

+0

我不能已瞭解了'我怎麼在person.pm檢查了我object'手段。你能添加更多詳細的解釋一下什麼是'我object'和究竟是什麼你需要檢查? – 2010-01-21 16:15:16

回答

2

我假設在這裏,既有「文件1」和「文件2」是純粹的模塊,這意味着爲了這個目的,他們並沒有爲執行行動創建對象和對象方法全局狀態,只支持類方法面向對象在那些對象上。

在這種情況下,我把檢查邏輯在主程序中,文件1模塊都不在了,寫出來像這樣:

if ($addXML->hasObjectImLookingFor) { 
    $xml->add($addXML->getObjectImLookingFor); 
} else { 
    die "File 2 does not contain object I'm looking for"; 
} 

對不起,這是模糊的,但說實話,你的問題也是如此。如果你真的可以給我們一小段完整的Perl代碼樣本(我理解它不能成爲你的真實代碼,但只是一個小的虛擬模塊來說明行爲),這可能會有所幫助。

+0

我想我明白你的意思了,拿走了你的想法並修改了它的工作。謝謝 – 2010-01-21 19:51:39