मेरा प्रश्न है: एक्सएमएल के लिए कुछ तर्क कैसे पास करें: टिग के हैंडलर, और हैंडलर से परिणाम कैसे वापस करें।मैं एक्सएमएल :: ट्विग के हैंडलर के साथ तर्क कैसे पास कर सकता हूं और मूल्य वापस कर सकता हूं?
<counter name = "music", report type = "month", stringSet index = 4>
:
यहाँ मेरी कोड है, जो hardcoded है।
तर्क $counter_name
, $type
, $id
का उपयोग करके इसे कैसे कार्यान्वित करें? और string_list के परिणाम को वापस कैसे करें? धन्यवाद (खेद है कि मैंने xml फ़ाइल यहां पोस्ट नहीं की है क्योंकि मुझे ऐसा करने में कुछ परेशानी है। < और> के भीतर कुछ भी अनदेखा कर दिया गया है)।
use XML::Twig;
sub parse_a_counter {
my ($twig, $counter) = @_;
my @report = $counter->children('report[@type="month"]');
for my $report (@report){
my @stringSet = $report->children('stringSet[@index=”4”]');
for my $stringSet (@stringSet){
my @string_list = $stringSet->children_text('string');
print @string_list; # in fact I want to return this string_list,
# not just print it.
}
}
$counter->flush; # free the memory of $counter
}
my $roots = { 'counter[@name="music"]' => 1 };
my $handlers = { counter => \&parse_a_counter };
my $twig = new XML::Twig(TwigRoots => $roots,
TwigHandlers => $handlers);
$twig->parsefile('counter_test.xml');
@ lilili07: SO में आपका स्वागत है। मैंने आपके कोड को स्वरूपित किया है, आप इसे बैकटिक्स में संलग्न करके एक्सएमएल शामिल कर सकते हैं। अगर मैंने गलती की है तो इसे संपादित करने के लिए स्वतंत्र महसूस करें। – Zaid