• ベストアンサー

値が無い場合のタグ出力

システム間接続の為のXMLを作成していますが、データの値が無い場合にタグ自体を無くすべきかどうかで悩んでいます。 値が無くてもタグを作成する場合  ・ データ量が無駄に大きくなる 値が無ければタグ自体を書かない場合  ・ タグが存在するかどうかのチェックを入れる必要が出てくる ということが考えられますが、みなさんはどのように作成されていますでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nitscape
  • ベストアンサー率30% (275/909)
回答No.1

値がなければタグはいらないと思います。 というよりも普通は既成のパーサーを利用するのでこのようなことで悩む機会は少ないと思います。 既成のパーサーを利用できないようなシステムということなのでしょうか? システム間で送られてくるXMLはいわゆる規格上のXMLではなく数多の制限を加えているXMLなのでしょうか? もしも一般的な規格に沿ったXMLを利用しているのでしたらパーサーの利用を考えた方がいいと思います。そうでなければもう一度システム間でXMLの仕様に関して打ち合わせをした方がいいと思います。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • XMLタグ情報取得

    PHPにxmlファイルのタグ情報を利用するシステムを構築したいのですが、調べてもよく解らなかったため質問させて頂きます。 PHPは勉強経験があるため解るのですがXMLはまったくの初心者です。 システムは以下の流れです。 システムA(PHP) <?php  $i;  if($iがシステムBで使用されているか確認){   使用されている場合$iで処理  }else{   使用されていない場合xmlファイルからタグ情報取得   for($iの親タグ<B>を取得){    if(<$i><$j><$k>のどれかがシステムBで使用されていないか?){     $jが使用されていた場合、システムAの$iと、システムBの$jは同じ使用用途のデータと判断し処理    }   }  } xmlファイル <?xml version="1.0" encoding="EUC-JP"?> <A> <B> <$i></$i><$j></$j><$k></$k> </B> </A> このようなシステムを構築したいのでご教授お願いします。 違うシステム同士でデータを利用する際、同じ使用用途でもシステムによって名称が異なる場合にも対応できるシステムを課題としています。 また、DOM方式を利用した方法だと助かります。 環境はXP、PHP5、Apache2.0です

    • ベストアンサー
    • PHP
  • JavaからPHPへの値の受け渡し

    失礼致します。 最近梅雨でじめじめしており嫌ですね。 よろしくお願いいたします。m(__)m お尋ねしたいことは上記のとおりです。 今Javaを使ってDB管理システムを作成しています。 が、もうすでに出来上がったPHPのDBシステムも存在するのです。違った機能を持たすため両方必要なのですが、両者間で値の共有をしたいです。作成中のシステムから現行のシステムへデータを送るにはどのようにすればいいのでしょうか? 以上、簡単ではございますがよろしくお願いします。

    • ベストアンサー
    • Java
  • jQueryでxmlデータ取得について

    jQueryでxmlのデータを取得しました。 jsで宣言した変数データがあって、 その変数のデータと xmlのタグ(ノード)が一致していた場合、 そのxmlデータの値を返したいと考えています。 xmlは以下の感じです。 タグ名はすべて異なりますが、順番に並んでいます。 <data1>aaa</data1> <data2>bbb</data2> <data3>ccc</data3> 例としては jsでの変数の値がdata1の場合は、 xmlの<data1>の値を取得したいんです。 jsでの変数の値がdata2の場合は、 xmlの<data2>の値を取得したいんです。 そんな事ってできますか? 初心者なもので、とんちんかんな質問かもしれませんが どうか、宜しくお願いいたします。

    • ベストアンサー
    • AJAX
  • VB2005でDBから取得したデータを指定されたXMLデータへ変換する方法について

    VB2005の初心者です。 Aシステムの開発(VB2005)で、Bシステムとの通信部分の開発をしています。 Bシステムとの通信はTCP/IP通信にて、XMLデータでやりとりをします。 XMLデータは、タグなど形式が決まっています。 単純に、適当なXMLデータを通信でやりとりすることはできたのですが、 AシステムでDB(SQLServer)から取得したデータを、形式に沿ったタグを使用したXMLデータに変換してから通信したいのですが、その変換方法が分りません。 DBのデータをXML形式に変換すると、フィールド名のタグでできると思うのですが、そうではなく、指定したタグを使用してXMLデータを作成するにはどうすれば良いのでしょうか。 タグを指定、もしくは変換する方法などはあるのでしょうか。 何かヒントでも良いので、たくさんの方の知恵をお借りできれば幸いです。 よろしくお願い致します。

  • DTDについて

    DTDでXMLのチェックをしようと思っているのですが、 あるタグ配下には、XHTMLのタグをすべてOKにしようとおもっています。その場合のDTDの書き方は、どうすればよいのでしょうか? やはり、すべてのタグを記述しなければ、いけないのでしょうか?(量が多いので、「チェックしない」とかって方法があれば、それでもよいのですが) よろしくお願いします。

    • ベストアンサー
    • XML
  • FORM1の値を参照する場合について

    質問します。 FORM1を作成し、そこにTextbox1に値を何か入れた場合に、その値をチェック関数を新しいクラス(check.vb)にてチェックする場合にどのようにFORM1のTextbox1の値を参照すればよろしいのでしょうか? public function Check() AS Boolean Dim FORM AS NEW FORM1 Msgbox(FORM.Textbox1.text) end function 上記のようなチェック処理をしても空が表示されてしまいます。何方かご教授お願い致します。

  • HTMLの<form>タグ内の値について

    フォーム上にクリックボタンを2つ表示してそれぞれ違う処理を実行したいと考えて います。HTML<form>タグを2つ作成して1つ目に処理1のプログラム、2つ目の <form>タグに処理2の処理を実行したいと考えています。 <form>処理1</form><form>処理2</form> 処理1にPHPを埋め込みクリッカブルボタンをプログラムで書き込みます。 <?php for($ctr=0;$ctr<MAX;$ctr++){ ?> <input type="radio" name="area" value=<?=$area[$ctr][0]?> onClick="area.value = <?=$area[$ctr][0]?>"><b><?=$area[$iCnt][1] <?php } ?> ※情報が格納されたPHPの連想配列の情報を元にクリッカブルボタンを作成し、  チェックされた情報を保持したいと考えています。 上記の場合、保持したデータを上記の処理1では利用できますが、 処理2の方ではareaにアクセスしてもデータがありません。 これはformが異なるためデータを読むことができないのでしょうか? 別フォーム内で取得したデータを別フォームで参照することはできないのでしょうか? もしかしたら私の質問が意味不明かもしれませんが ご存知の方がいらっしゃいましたら宜しくお願いいたします。

  • XMLファイルからタグごとバッファにとりだす方法は?

    こんばんわ。 MS C#2005でXMLファイルをDBに取り込むPGを作っています。 困ったことが発生したのですが、調べるにしてもどこからせめてよいのか見当がつかなくなり、どうにもならなくなってしまいました。 以下に簡単ですが、読み込みしたいXMLを記述します。 <?xml version="1.0" encoding="utf-8"?> <XML情報 version="1.0">   <リスト 番号="1">     <概要>       <表示番号>0123456789</表示番号>       <概要タグ2>xxx</概要タグ2>       <概要タグ3>xxx</概要タグ3>         ・         ・     </概要>     <詳細>       <注文>         <アイテム 品目="○○">○○</アイテム>         <アイテム 品目="□□">□□</アイテム>       </注文>     </詳細>   </リスト> </XML情報> 上記のXMLファイルから「<詳細>~</詳細>」間をタグつきの文字列として取り出し、いったんバッファ上に確保した上でDB(SQL Server2005)へ取り込みしたいのです。 ただし、DBへ取り込む際に「<アイテム>」部分の値を一部変更するので(具体的には「品目」属性の値を手直しする)XML的な取り扱いをしながらバッファ操作する方法を探しています。 問題なのは、XMLファイルから「<詳細>~</詳細>」間をタグつきの文字列として取り出す振る舞いを検索エンジンなどで探すにあたって、どういったキーワードで探したらいいのか皆目見当がつきません。 XMLReaderクラスなどの項目で検索しているのですが、思ったような結果が導き出せないでいます。 もしかすると、XML操作関連クラスでは実現できないのではないかと思い、少々混乱しています。 これだけの情報でこちらの意図していることが理解できましたら、その解決法(検索キーワードだけでもかまいません)をご教授いただければと思います。 補足が必要であればお申し付けください。 よろしくお願いします。

  • タグの有無の判定

    みなさん、初めまして。 今、XSLTでXMLファイルをJavaファイルに変換するxslファイルを 書いているのですが質問のタイトルの通りタグの有無を判定して処理 を行いたいのですが、どのようにすれば可能でしょうか? 例えば、XMLファイル中に <work> <value></value> </work> <work> <value>test</value> <work> 上記のような内容があった場合にのタグの値の有無で処理を行うには <xsl:choose> <xsl:when test="value=''">hogehoge</xsl:when> <xsl:otherwise>fugafuga</xsl:otherwise> </xsl:choose> とすれば可能だと思うのですが(もっと簡単な方法もあるかも しれませんが・・・)、workタグの中にvalueタグが無かった 場合にAという処理をし、タグがある場合にはBと言う処理を 行うという事をしたいのです。 それではよろしくお願い致します。

    • ベストアンサー
    • XML
  • XMLのタグの有無をPHPで判定したい。

    example1.xml ----------------------- <item>  <color>red</color>  <omake>candy</omake> </item> ----------------------- example2.xml ----------------------- <item>  <color>black</color> </item> ----------------------- 上記はXMLファイルの2パターンを示したものです。 商品(item)によって、オマケ(omake)があったりなかったりします。 オマケがない時には、タグ自体存在しません。 なので、タグがない時に、そのデータをDOMで取得しようとすると、 エラーが吐かれます。 Notice: Trying to get property of non-object in~~~ 私がしたいことは、 タグがない場合には、値を取得しない。 という分岐をさせることです。 例えば、 $items = $doc->getElementsByTagName('color'); if(isset($items)){echo $items->item(0)->nodeValue;} こんな感じで考えたのですが、ダメでした。 タグが無くても、$itemsはNULLではないため、 if文の中に入ってしまい、 結局、$items->item(0)->nodeValue; を通過しようとして、 Notice: Trying to get property of non-object in~~~ が吐かれます。 ($itemsは、object(DOMNodeList)#3 (0) { }といった内容で、NULLではない。) また、 if(isset($items->item(0)->nodeValue)){  echo $items->item(0)->nodeValue; } のようにすると、 isset()のところで、やはり、 $items->item(0)->nodeValue を通過しようとして、 Notice: Trying to get property of non-object in~~~ が吐かれます。 こういった場合、どうしたら良いのでしょうか。 宜しくお願いします。 (PHP5の環境です。)

    • ベストアンサー
    • PHP