注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

Parse xml as schema

Supported in: Batch, Streaming

指定されたスキーマ定義に従って xml 文字列を解析し、スキーマにないフィールドは無視します。

Expression categories: File, Struct

引数

  • Schema - xml 文字列を解析する際に使用するスキーマ定義。
    Type<Struct>
  • Xml - 解析する xml 文字列。
    Expression<String>
  • optional Attribute prefix - タグの属性のプレフィックス。
    Literal<String>
  • optional Ignore namespace - 設定されている場合、要素および属性の名前空間を無視します。たとえば、<ns1 ns2="value" /> は として扱われます。デフォルトは false です。
    Literal<Boolean>
  • optional Value tag - 要素に子がなく属性がある場合に値として使用されるタグ。
    Literal<String>

Output type: Struct

例 1: 基本ケース

引数値:

  • Schema: Struct<id, airport<id, miles>>
  • Xml: xml
  • Attribute prefix: null
  • Ignore namespace: null
  • Value tag: null
xmlOutput
<airline>
 <id>XB-112</id>
 <airport>
  <id>JFK</id>
  <miles>2000</miles>
 </airport>
</airline>
{
airport: {
id: JFK,
miles: 2000,
},
id: XB-112,
}

例 2: 基本ケース

説明: 名前空間が無視されると、データ内の名前空間が無視されます。スキーマ内の名前空間はキーに一致しないことに注意してください。名前空間はフィルター処理されます。 引数値:

  • Schema: Struct<name, email, address<nevermatches:street, city, state, zip>>
  • Xml: xml
  • Attribute prefix: null
  • Ignore namespace: true
  • Value tag: null
xmlOutput
<ns1>
<ns1>John Doe</ns1>
<ns1>john.doe@example.com</ns1...
{
address: {
city: Exampleville,
nevermatches: null,...

例 3: Null ケース

説明: 入力 XML にリクエストされたフィールドがない場合、そのフィールドは null になります。 引数値:

  • Schema: Struct<id, airport<id, miles>>
  • Xml: xml
  • Attribute prefix: null
  • Ignore namespace: null
  • Value tag: null
xmlOutput
<airline>
 <id>XB-112</id>
 <airport>
  <id>JFK</id>
 </airport>
</airline>
{
airport: {
id: JFK,
miles: null,
},
id: XB-112,
}

例 4: Null ケース

説明: リクエストされたスキーマが小さすぎる場合、スキーマ内のフィールドのみが解析されます。 引数値:

  • Schema: Struct<id>
  • Xml: xml
  • Attribute prefix: null
  • Ignore namespace: null
  • Value tag: null
xmlOutput
<airline>
 <id>XB-112</id>
 <airport>
  <id>JFK</id>
 </airport>
</airline>
{
id: XB-112,
}

例 5: Null ケース

説明: 名前の前に属性プレフィックスを置くことで属性を読み取ることができます。 引数値:

  • Schema: Struct<id, airport<_id, miles>>
  • Xml: xml
  • Attribute prefix: _
  • Ignore namespace: null
  • Value tag: null
xmlOutput
<airline> <id>XB-112</id> <airport id="JFK">
  <miles>2000</miles>
 </airport>
</airline>
{
airport: {
_id: JFK,
miles: 2000,
},
id: XB-112,
}