0

以下のような XML ドキュメントをナビゲートするために javax.xml.parsers を使用しています。

`

<ContextElement>
    <DimensionNode>Role</DimensionNode>
    <Value>Administration</Value>
    <TailoringExpressions>
        <TailoringExpression>
            <Relation>Student</Relation>
            <ProjAtt>
                <Attribute>Matr</Attribute>
                <Attribute>SName</Attribute>
                <Attribute>SSurname</Attribute>
                <Attribute>SDateOfBirth</Attribute>
                <Attribute>SEmail</Attribute>
                <Attribute>SAddress</Attribute>
            </ProjAtt>
            <Condition/>
            <SemiJoinRel/>
            <SemiJoinOn/>
            <SemiJoinCond/>
        </TailoringExpression>
    </TailoringExpressions>
</ContextElement>
<ContextElement>
    <DimensionNode>Deadline</DimensionNode>
    <Value>Lost</Value>
    <TailoringExpressions>
        <TailoringExpression>
            <Relation>Deadline</Relation>
            <ProjAtt>
                <Attribute>IdDeadline</Attribute>
                <Attribute>Student</Attribute>                  
                <Attribute>DeadlineDate</Attribute>
                <Attribute>Description</Attribute>
                <Attribute>IsMet</Attribute>
            </ProjAtt>
            <Condition>DeadlineDate LT CurrentDate AND IsMet=False</Condition>
            <SemiJoinRel/>
            <SemiJoinOn/>
            <SemiJoinCond/>
        </TailoringExpression>
    </TailoringExpressions>
</ContextElement>

`

DimensionNode として値 "Role" を持ち、Value として値 "Administration" を持つオブジェクト/ノード ContextElement を抽出する必要があるため、問題が発生しました。動作するコードを書くことができません! 誰かがそれを行う方法を教えてもらえますか? ありがとう

4

1 に答える 1

0

値を抽出する最良の方法は、xpathを使用することだと思います。

XPath xpath = XPathFactory.newInstance().newXPath();
String expression = "/widgets/widget";
InputSource inputSource = new InputSource("widgets.xml");
NodeSet nodes = (NodeSet) xpath.evaluate(expression, inputSource, XPathConstants.NODESET);

詳細については、Oracleのドキュメントを参照してください。

于 2013-03-11T18:08:14.663 に答える