1

ソースXMLドキュメントを宛先XMLドキュメントに変換する簡単な方法は何でしょうか。ソースと宛先の間にはわずかな違いしかありません。具体的には、UnitIDRecord各ノード内の最初のノードを削除したいと思いUnitIDGroupます。

  • このタスクのDOMまたはSAXに適したモデルは何ですか?
  • この問題に最適なXMLライブラリはどれですか(ソースと宛先が削除されたノードでのみ異なり、名前空間、属性、エンコーディングなどが欠落していないことを保証します)?
  • 私はについて読んだXSLT、これはオプションでしょうか?

XMLドキュメントは次のようになります。

<?xml version="1.0" encoding="UTF-8"?>
<ExPostInformationRealGeneration xmlns="http://schemas.seven2one.de/EEX/TransparencyPlatform" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://schemas.seven2one.de/EEX/TransparencyPlatform EEXTransparencyPlatform.xsd">
    <DispatcherID>XYZ</DispatcherID>
    <CreationDateTime>2012-05-22T13:57:00Z</CreationDateTime>
    <MessageText>1 - Positiv - Meldung mit Quality-Tag - L000</MessageText>
    <UnitIDGroup>
        <UnitID>E110200-001</UnitID>
        <UnitIDRecord><Quantity>16.9</Quantity><Starttime>2008-04-30T22:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
        <UnitIDRecord><Quantity>16.6</Quantity><Starttime>2008-04-30T23:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
        <UnitIDRecord><Quantity>16.4</Quantity><Starttime>2008-05-01T00:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
    </UnitIDGroup>
    <UnitIDGroup>
        <UnitID>E110200-002</UnitID>
        <UnitIDRecord><Quantity>16.9</Quantity><Starttime>2008-04-30T22:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
        <UnitIDRecord><Quantity>16.6</Quantity><Starttime>2008-04-30T23:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
        <UnitIDRecord><Quantity>16.4</Quantity><Starttime>2008-05-01T00:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
    </UnitIDGroup>
    <UnitIDGroup>
        <UnitID>E110201-001</UnitID>
        <UnitIDRecord><Quantity>7.0</Quantity><Starttime>2008-04-30T22:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
        <UnitIDRecord><Quantity>7.1</Quantity><Starttime>2008-04-30T23:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
        <UnitIDRecord><Quantity>7.1</Quantity><Starttime>2008-05-01T00:00:00Z</Starttime><Period>PT1H</Period><MessageText></MessageText></UnitIDRecord>
    </UnitIDGroup>
    <!-- other UnitIDGroup elements -->
</ExPostInformationRealGeneration>
4

1 に答える 1

0

ファイルを文字列として読み取り、基準に一致する場合は文字列を別のファイルに書き出す可能性を検討します。これは 5 行のプログラムであり、解析などを回避します。すばやく実行され、シンプルです。ただし、これはこの問題に固有のものであり、再利用できません。したがって、これは正しい解決策ではなく提案として提供します!

于 2012-09-11T08:08:16.427 に答える