-2

私は助けが必要です。xmlファイルから値をフェッチする必要があります。私のXMLは次のタイプです。

<CREDIT_SUMMARY BorrowerID="Borrower" _Name="TransUnionCreditSummaryDescription">
    <_DATA_SET _Name="SummaryType" _Value="R"></_DATA_SET>
    <_DATA_SET _Name="HighCredit" _Value="5128"></_DATA_SET>
    <_DATA_SET _Name="CreditLimit" _Value="23600"></_DATA_SET>
    <_DATA_SET _Name="Balance" _Value="13364"></_DATA_SET>
    <_DATA_SET _Name="AmountPastDue" _Value="0"></_DATA_SET>
    <_DATA_SET _Name="MonthlyPayment" _Value="148"></_DATA_SET>
    <_DATA_SET _Name="PercentOfCreditAvailable" _Value="43"></_DATA_SET>
    <_Text>TransUnion Credit Summary: Revolving or Check Credit Accounts</_Text>
</CREDIT_SUMMARY>

xmlタグ内にある_Nameと_Valueの値を取得する必要があります。

ありがとう、

4

1 に答える 1

1

次のXpath式を使用して、最初と2番目の属性の属性識別子を取得します。

//_DATA_SET/@*[position() = 1 or position() = 2]/name()

または、これで値を取得します。

//_DATA_SET/@*[position() = 1 or position() = 2]/string()

Saxon HEを使用して、コマンドラインでクエリを実行できます。

$ cat credit.xml 
<CREDIT_SUMMARY BorrowerID="Borrower" _Name="TransUnionCreditSummaryDescription">
    <_DATA_SET _Name="SummaryType" _Value="R"></_DATA_SET>
    <_DATA_SET _Name="HighCredit" _Value="5128"></_DATA_SET>
    <_DATA_SET _Name="CreditLimit" _Value="23600"></_DATA_SET>
    <_DATA_SET _Name="Balance" _Value="13364"></_DATA_SET>
    <_DATA_SET _Name="AmountPastDue" _Value="0"></_DATA_SET>
    <_DATA_SET _Name="MonthlyPayment" _Value="148"></_DATA_SET>
    <_DATA_SET _Name="PercentOfCreditAvailable" _Value="43"></_DATA_SET>
    <_Text>TransUnion Credit Summary: Revolving or Check Credit Accounts</_Text>
</CREDIT_SUMMARY>
$ java -cp saxon9he.jar net.sf.saxon.Query -s:credit.xml -qs:'//_DATA_SET/@*[position() = 1 or position() = 2]/string()' '!omit-xml-declaration=yes'
SummaryType R HighCredit 5128 CreditLimit 23600 Balance 13364 AmountPastDue 0 MonthlyPayment 148 PercentOfCreditAvailable 43
于 2012-06-20T16:35:02.460 に答える