複数の親ノードを持つXMLファイルを、それぞれに単一の親ノードを持つXMLファイルに分割するには、助けが必要です。
以下は、2つのレコードを含むサンプルファイルです。
<?xml version='1.0' encoding='UTF-8'?>
<Record xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<AddressBlock>
<AddressOne>.....</AddressOne>
<AddressTwo />
<CityCounty>.....</CityCounty>
<County>.....</County>
<Country>.....</Country>
<PostCode>.....</PostCode>
</AddressBlock>
<ContactName>
<Prefix />
<FirstName>.....</FirstName>
<MiddleName />
<LastCompanyName>.....</LastCompanyName>
<Suffix />
</ContactName>
<Injury>
<SoftTissue>
false
</SoftTissue>
<BoneInjury>
false
</BoneInjury>
<Whiplash>
false
</Whiplash>
<Respiratory xsi:nil="true" />
<Deafness xsi:nil="true" />
<VibrationInjury xsi:nil="true" />
<Dermatitis xsi:nil="true" />
<Other>
false
</Other>
<InjuryDetails>.....
</InjuryDetails>
</Injury>
<Repairs>
<VehicleDamaged xsi:nil="true" />
<VehicleDamagedDetails xsi:nil="true" />
</Repairs>
</Record>
<Record xmlns="http://tempuri.org/XMLSchema.xsd">
<AddressBlock>
<AddressOne>.....</AddressOne>
<AddressTwo />
<CityCounty>.....</CityCounty>
<County>.....</County>
<Country>.....</Country>
<PostCode>.....</PostCode>
</AddressBlock>
<ContactName>
<Prefix />
<FirstName>.....</FirstName>
<MiddleName />
<LastCompanyName>.....</LastCompanyName>
<Suffix />
</ContactName>
<Injury>
<SoftTissue>
false
</SoftTissue>
<BoneInjury>
false
</BoneInjury>
<Whiplash>
false
</Whiplash>
<Respiratory xsi:nil="true" />
<Deafness xsi:nil="true" />
<VibrationInjury xsi:nil="true" />
<Dermatitis xsi:nil="true" />
<Other>
false
</Other>
<InjuryDetails>.....
</InjuryDetails>
</Injury>
<Repairs>
<VehicleDamaged xsi:nil="true" />
<VehicleDamagedDetails xsi:nil="true" />
</Repairs>
</Record>
それを2つのファイルに分割して、それぞれに1レコード(「レコード」親ノードに基づく。同様に、ソースファイル(統合)のレコード数は異なる場合があります)に分割する必要があります。
以下のコマンドを試してみましたが、うまく機能しています。csplit -s -k -f my_XML_split.xml my_XML.xml "/ ^ <Record * /" {1000}親ノード「Record」に基づいてファイルを複数のファイルに分割できますが、出力ファイル名の形式はmy_XML_split.xml00、my_XML_split.xml01、...ここで、my_XML_split00.xmlの形式の出力ファイルを期待しているので、誰かがこれを手伝ってもらえますか
—
Janaki Chidambaram
複数のルートノートがあるため、「XML」は最初は無効です。命名については、名前を変更するだけですか?
—
セス
こんにちはSeth統合されたXMLファイルを複数のルートノードで分割する必要があります。ここの各ルートノードはトランザクションの詳細を保持し、各ファイルに1つのトランザクションの詳細(ルートノード)を持つ複数のファイルに分割する必要があります。
—
Janakiチダンバラム
オフのままに
—
ネヴィンウィリアムズ
.xml
あなたのようなファイルを作成しますので、 `-f」オプションで
おっと、切り捨てられました。私が離れたので、私の編集は通過しませんでした。
—
ネビンウィリアムズ
for
その後、ループを使用して.xml拡張子を追加してみてください。