Bazı XML dosyalarını onlardan bazı bilgiler kullanmak istediğim bazı dosyalarım var. Bu dosyaları okuyan ve bazı koşullara bakacak bir kod yazdım.Ad boşluklarını kullanan bir XML belgesinden veri ayıklama
Sorun, bu XML dosyası
<SquishReport version="2.1" xmlns="http://www.froglogic.com/XML2">
ile başlar ve Perl onları okunamadı (ki benim kodunda en azından!). Ama çok iyi XML
dosyası
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl"?>
eserler ilk satırında bu satırları ekliyorum zaman. Benim XML dosyası test.xml
den
Bazı satırlar:
<SquishReport version="2.1" xmlns="http://www.froglogic.com/XML2">
<test name="TEST">
<prolog time="2015-10-01T03:45:22+02:00"/>
<test name="tst_start_app">
<prolog time="2015-02-01T03:45:23+02:00"/>
<message line="38" type="LOG" file="C:\squish\test\sources.py" time="2015-02-01T03:45:23+02:00">
<description>
<![CDATA[>> >> >> start: init (global) - testcase C:\squish\test\tst_start_app]]></description>
</message>
</test>
</test>
</SquishReport>
ve XML dosyası okunurken, Perl kodu geçerli:
use strict;
use warnings;
use feature 'say';
use XML::LibXML;
# Parse the XML
my $xml = XML::LibXML->load_xml(location => 'test.xml');
# Iterate the entries
for my $entry ($xml->findnodes('/SquishReport/test/test')) {
my $key = $entry->findvalue('@name');
say "$key";
}
Olası yinelenen [Neden X yapar ML :: LibXML bir ad alanı kullanırken bu xpath sorgusu için düğüm bulamaz] (http: // stackoverflow.com/questions/4083550/why-does-xmllibxml-find-no-düğümleri-için-bu-xpath-sorgu-ne-a-namespace) – nwellnhof
Lütfen bu sorgun kopyasını kapatmayın. Bu sorunun XML'i yasa dışıdır, konuyu karmaşıklaştırır ve bu soruya çözüm bu soruyla alakasız hale gelir. Bu soruyu temiz bir örnek olarak sunmak istiyorum. – ikegami