Free Trial

ディスカッション

答えを見つけ、質問し、Alteryx の専門知識を共有してください。
解決済み

XMLパースでエラーが発生する

cresco_ohsaka
メテオール

Alteryxで「パース」の「XMLパース」のツールアイコンを利用しています。

XMLパースで一定以上の長さになるとエラーが発生します。

下記は<tr>タグと<td>タグを使ったシンプルなXMLの内容ですが、

文字列が一定より長くなるとXMLパースがうまくいかなくなる認識です。

ここでエラーが発生する理由と、対応策をご教示いただけましたらありがたく存じます。

 

●パースするデータの中身:うまく行く場合

<table class="changes"><tr><td>History_Column_01</td><td>内容01</td></tr><tr><td>History_Column_02</td><td>内容02</td></tr><tr><td>History_Column_03</td><td>内容03</td></tr><tr><td>History_Column_04</td></table>

 

●パースするデータの中身:うまく行かない場合

<table class="changes"><tr><td>History_Column_01</td><td>内容01</td></tr><tr><td>History_Column_02</td><td>内容02</td></tr><tr><td>History_Column_03</td><td>内容03</td></tr><tr><td>History_Column_04</td><td>内容04</td></tr><tr><td>History_Column_05</td><td>内容05</td></tr><tr><td>History_Column_06</td><td>内容06</td></tr><tr><td>History_Column_07</td><td>内容07</td></tr><tr><td>History_Column_08</td><td>内容08</td></tr><tr><td>History_Column_09</td><td>内容09</td></tr><tr><td>History_Column_10</td><td>内容10</td></tr></table>

 

なお、ここで「XMLエラーを無視して続行する」にチェックを入れると、

エラーが発生した以降のデータは切り捨てられる認識なので、

あくまで全てのデータを抽出したいと考えております。

よろしくお願いいたします。


●添付ファイル

Alteryx_test1.txt:XMLパースがうまくいく場合のデータ

Alteryx_test2.txt:XMLパースがうまくいかない場合のデータ

test_20211207.yxmd:検証用ワークフロー

4件の返信4
cresco_ohsaka
メテオール

使用しているAlteryxのバージョンは「2020.4.5.12471」です。
よろしくお願いいたします。

gawa
16 - Nebula
16 - Nebula

@cresco_ohsaka さん

WorkFlowを見させていただいたところ、データ入力ツールの設定で長さが254に設定されているため、文字が途中で切れており、それが原因でXMLパースがうまくいってないようです。

ですので、データ入力ツールの長さを十分長い値に設定することで、正常に全てのデータをXMLパースできるようになります。(下図では適当に、文字長さを254000にしています)

gawa_0-1638925472487.png

 

AkimasaKajitani
17 - Castor
17 - Castor

@cresco_ohsaka さん

 

@gawa さんの言うとおりで、結果ウィンドウのワーニングメッセージとして表示されていますね・・・。

 

AkimasaKajitani_1-1638929482368.png

 

あと、データは閲覧ツールを接続することで全データの確認が可能ですので、おかしいな、と思ったら閲覧ツールでインプットデータを確認することをおすすめします。

 

切れている場合

※途中でぶちっと切れています

AkimasaKajitani_2-1638929589710.png

 

データ入力ツールの設定を変えた場合の結果

※ちゃんとテーブルタグで閉じられています

 

AkimasaKajitani_3-1638929627037.png

 

 

 

 

cresco_ohsaka
メテオール

ご教示いただいた方法で、無事に解決できました。

データ入力ツールで長さが指定できるのは意識しておりませんでした。

ありがとうございました。

トップのソリューション投稿者