パフォーマンス統計(3gpp 32.435)を解析しようとしています。構造は私が望むほど単純ではありません。例を見てください。私が探しています結果はDOM用Perl XMLパーサー
endTime:measType:measValue
でテキスト出力を持つことである私が値を抽出するためのperlスクリプトを使用しようとしましたが、あなたが見ることができるように、SGSN-MME_Session_SM_Gのための2つのタイプの2つの値があり、誰かが私にこのXMLを解析する方法や、親の2人の子供からの型と値を結合する方法のヒントを与えることができる場合ので、私のスクリプトの結果は
SM.SuccActSecondPdpContext.G
SM.UnsuccActPdpContextCC38.G
1
473764
です。私は感謝するだろう、感謝を...
スクリプトを使用:
#!/usr/bin/perl
use 5.010;
use strict;
use warnings;
use XML::LibXML;
my $filename = 'file.xml';
my $dom = XML::LibXML->load_xml(location => $filename);
foreach my $measvalue ($dom->documentElement) {
say $measvalue->to_literal();
}
XMLファイルを:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="MeasDataCollection.xsl"?>
<measCollecFile xmlns="http://www.3gpp.org/ftp/specs/archive/32_series/32.435#measCollec">
<fileHeader fileFormatVersion="32.435 V9.0" vendorName="New Vendor">
<fileSender />
<measCollec beginTime="2017-10-09T20:17:00+03:00" />
</fileHeader>
<measData>
<managedElement localDn="TestNode" />
<measInfo measInfoId="SGSN-MME_Mobility_U">
<job jobId="customPdcJob" />
<granPeriod duration="PT60S" endTime="2017-10-09T20:18:00+03:00" />
<repPeriod duration="PT60S" />
<measType p="1">succGprsAttachUmts</measType>
<measValue measObjLdn="ManagedElement=TestNode,SgsnFunction=1">
<r p="1">132737759</r>
</measValue>
</measInfo>
<measInfo measInfoId="SGSN-MME_Session_DiscardedMessages_G">
<job jobId="customPdcJob" />
<granPeriod duration="PT60S" endTime="2017-10-09T20:18:00+03:00" />
<repPeriod duration="PT60S" />
<measType p="1">discardedSessionMgmnt</measType>
<measValue measObjLdn="ManagedElement=TestNode,SgsnFunction=1">
<r p="1">12368</r>
</measValue>
</measInfo>
<measInfo measInfoId="SGSN-MME_Session_SM_G">
<job jobId="customPdcJob" />
<granPeriod duration="PT60S" endTime="2017-10-09T20:18:00+03:00" />
<repPeriod duration="PT60S" />
<measType p="1">SM.SuccActSecondPdpContext.G</measType>
<measType p="2">SM.UnsuccActPdpContextCC38.G</measType>
<measValue measObjLdn="ManagedElement=TestNode,SgsnFunction=1">
<r p="1">1</r>
<r p="2">473764</r>
</measValue>
</measInfo>
<measInfo measInfoId="SGSN-MME_Session_SM_U">
<job jobId="customPdcJob" />
<granPeriod duration="PT60S" endTime="2017-10-09T20:18:00+03:00" />
<repPeriod duration="PT60S" />
<measType p="1">SM.UnsuccActPdpContextCC38.U</measType>
<measValue measObjLdn="ManagedElement=TestNode,SgsnFunction=1">
<r p="1">737355</r>
</measValue>
</measInfo>
<measInfo measInfoId="SGSN-MME_SystemResource_PIU">
<job jobId="customPdcJob" />
<granPeriod duration="PT60S" endTime="2017-10-09T20:18:00+03:00" />
<repPeriod duration="PT60S" />
<measType p="1">SYS.gsnApCpuUsage</measType>
<measValue measObjLdn="ManagedElement=TestNode,SgsnMme=1,PIU=1.1">
<r p="1">6</r>
</measValue>
<measValue measObjLdn="ManagedElement=TestNode,SgsnMme=1,PIU=1.3">
<r p="1">5</r>
</measValue>
<measValue measObjLdn="ManagedElement=TestNode,SgsnMme=1,PIU=1.5">
<r p="1">5</r>
</measValue>
<measValue measObjLdn="ManagedElement=TestNode,SgsnMme=1,PIU=1.7">
<r p="1">5</r>
</measValue>
</measInfo>
</measData>
<fileFooter>
<measCollec endTime="2017-10-09T20:18:00+03:00" />
</fileFooter>
</measCollecFile>
あなたは "とそれを開始したので、この質問は近い票を得たように見えます
私はXMLパーサースクリプトを探しています。これは、 "あなたに私のコードを渡す"という要求があるようです。直接の質問としてあなたの質問をすることはそれを避けるのに役立ちます;) –