XML
- xml内で条件は記述できる?
すみません。xmlに関して質問があるのですが、 xml内において、条件文は記述することは可能なのでしょうか。 以下のようなxmlがあり、例えば9/30まではa.aspの方を有効にし、 10/1以降はb.aspを有効にするというような感じにしたいのですが。 <?xml version="1.0" encoding="UTF-8"?> <list> <sample> <data> <url>/sample/a.asp</url> </data> <data> <url>/sample/b.asp</url> </data> </sample> </list> すみませんが、よろしくお願い致します。
- ベストアンサー
- XML
- noname#90757
- 回答数2
- XML DOM XMLパーサーについて理解していません
XMLについてイマイチ理解していないので教えてください。PHPでXMLファイルを開いて何らかの処理をするとします。例えば <?php //ドキュメントオブジェクトの作成 $doc = new DOMDocument(); //XML 文書ファイルのパース(DOM ツリーの作成) $doc->load("docs/td101.xml") //要素"b"を取得する $bElement = $doc->getElementsByTagName("b")->item(0); //取得した要素"b"に属性"ad"を設定する $bElement->setAttribute("ad","Fukuoka"); //ドキュメントをシリアライズする $doc->save("docs/result101.xml"); ?> のようにXMLファイルに属性を追加するという処理を行うとします。この時、DOMはPHPによって生成されるんでしょうか?またXMLはXMLパーサーによって解析されると本で読んだのですが、この場合PHPがXMLパーサーの機能を持っているんでしょうか?それともブラウザにXMLパーサーの機能があり、ブラウザ側で処理をされているのでしょうか?意味がわからなくて申し訳ないですが、この辺りを理解していなくて・・・御願いいたします。
- RSSって個人じゃ配信できないんですか?
RSSに興味を持って調べてみました。 XML形式で書くという概要と書き方は大体理解したのですが、配信方法が分かりません。調べてみると、それを「ビジネス」としている企業サイトによく当たり、なにやらサーバーがどうとかの話を見かけます。RSSって個人で配信することって出来ないんですか?もし出来るとしたら、やり方を教えていただきたいと思います。 よろしくお願いします。
- どこが間違っているのでしょうか
body 内に <xml id="UTIs" src="UTIs.xml"> をおき、onLoad で UTTypeGetIconsFile("public.plain-text") を呼び出すのですが、うまくいきません。実際には "public.plain-text.icons" を得たいのですが、どこが間違っているのでしょうか。 [JavaScript] function UTTypeGetIconsFile(UTTypeIdentifier) { roots = UTIs.XMLDocument; keys = root.getElementsByTagName("key"); for (i=0; i<keys.length; i++) { if (keys[i].innerText == "UTTypeIdentifier") { if (keys[i].nextSibling.innerText == UTTypeIdentifier) { dict = keys[i].parentNode; } } } keys = dict.getElementsByTagName("key"); for (i=0; i<keys.length; i++) { if (keys[i].text == "UTTypeiconsFile") { return keys[i].nextSibling.text; } } } [XML] <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <key>UTExportedTypeDeclarations</key> <array> <dict> <key>UTTypeIdentifier</key> <string>public.plain-text</string> <key>UTTypeiconsFile</key> <string>public.plain-text.icons</string> <!-- 実際には更に続きます --> </dict> <!-- この後もdictタグが続きます --> </array> </plist> ブラウザは IE6 です。
- 値の空ノードの削除
「1」のXMLを「2」に変換したいのですが、xsltの記載方法をお教えください。 「1」 <?xml version="1.0" encoding="utf-8"?> <root> <aaa_cd id="XXX"> <aaa_name>XXX</car_gd_cd> <bbb_cd /> <bbb_cd>Y1</bbb_cd> <bbb_cd /> <bbb_cd>Y2</bbb_cd> <bbb_cd /> </aaa_cd> </root> ↓ 「2」 <?xml version="1.0" encoding="utf-8"?> <root> <aaa_cd id="XXX"> <aaa_name>XXX</car_gd_cd> <bbb_cd>Y1</bbb_cd> <bbb_cd>Y2</bbb_cd> </aaa_cd> </root>
- ベストアンサー
- XML
- takashi_it
- 回答数2
- XPスタイルになってないソフトのボタンをXPスタイルにしたのですが。。
XPスタイルになってないソフトのボタンをXPスタイルにしたのですが化膿でしょうか?
- Xalanのインストール方法を教えていただきたいです
これからXMLを勉強しようといているのですが、xalanをどうインストールするのか分かりません。 Xerces-J-tools.1.4.4.zipを展開したいんですが、どうすればいいのかわかりません。(そもそも展開の意味がわかりません..) あとCLASSPATH変数の設定の仕方も教えて頂きたいです(><) お願いします!! 環境:Windows2000
- XSLTの記述方法
お世話になります。 XML+XSLTで開発しております。 XSLTの記述方法でjavascriptの引数にXMLデータを挿入する記述は どうすればよいのでしょうか? すごい初歩的な質問かもしれませんが ご教授よろしくお願いいたします。 <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <table> <tr> <td > <a href="#" onClick="hogehoge('pram')">hogehoge rink </a> </td> </tr> </table> </xsl:template> </xsl:stylesheet> ↓↓↓↓↓↓こんな感じにしたい↓↓↓↓↓↓ <a href="#" onClick="hogehoge('<xsl:value-of select="$prm_test"/>')">りんく</a>
- ベストアンサー
- XML
- bakenshibakenshi
- 回答数3
- C#でXMLファイルの情報にアクセスする
以下のようなXMLファイルがあったとき、serverとdatadaseの属性値を取り出す方法がわかりません。 どなたかご教授ください。 また、複数あるpropertyの中から(value=)"sa"を取得する方法もお願いします。 現在、C#で、次のようにしてXMLファイルにアクセスして、ルート要素名を取り出すことには成功しています。 ------ ソース ここから -------- XmlDocument xmlDoc = new XmlDocument(); // XmlDocumentオブジェクトを作成 xmlDoc.Load(fileName); XmlElement xmlRoot = xmlDoc.DocumentElement; Console.Write("ルート名は[" + xmlRoot.Name + "]です。\n"); --------- ソース ここまで --------- --------- ここからXMLファイル -------- <?xml version="1.0" encoding="utf-8"?> <!-- ↓これ(server)がルート名 --> <server maintenance="No"> <!-- データベース接続設定 --> <database providerInvariantName="System.Data.SqlClient" connectionString="xxxxx"> <property key="dbUrl" value="xxxxx" /> <property key="userName" value="sa" /> <property key="userPassword" value="xxxxxxxx" /> <property key="driverClass" value="com.microsoft.jdbc.sqlserver.SQLServerDriver" /> </database> <!-- LDAP設定 --> <ldap> <!-- シングルサインオン --> <sso Password="xxxxx" SyncTime="3600" /> </ldap> </server>
- XMLでこんなことがしたい_2
教えてください! Xsl:chooseを使って、 複数の要素内容の合計がホニャララ(例えばnull)なら、 ホニャララ(例:★)を返すという処理をしたいのですが、 合計値の判断部分の記述方法がわかりません。 詳しい方、教えてください。 ------------------------------------------------------ <xsl:choose> <xsl:when test="AとBの要素内容=''">★</xsl:when> ^^^^^^^^^^^^^^^ ↑この部分がわかりません
- スタイルシートについて
あるXMLファイルをXSLスタイルシートを適用させて表示させることを考えています。 要素・属性の指定がいまいち上手くいかないため、 ご教授ください。 元データ(test.xml)と表示後の理想は下記になります。 test.xml ーーーーーーーーーーーーーーーーー <?xml version="1.0" encoding="Shift_JIS"?> <report lang="ja"> <head> <title>あああ</title> <dateTime>1111111111111111</dateTime> <type>いいい</type> <editorialOffice>ううう</editorialOffice> <publishingOffice>えええ</publishingOffice> <additionalInfo> <v k="おおお">222222222222222222</v> </additionalInfo> </head> <body> <warningHead> <area code="3333" name="かかか"> <kind code="44" level="ききき" name="くくく" /> <kind code="55" level="けけけ" name="こここ" /> </area> <area code="6666" name="さささ"> <kind code="77" level="ししし" name="すすす" /> </area> <area code="8888" name="せせせせ"> <kind code="99" level="そそそ" name="たたた" /> </area> <area code="aaaa" name="ちちち"> <kind code="bb" level="つつつ" name="ててて" /> </area> <headline>とととととととととととととととと</headline> </warningHead> </body> </report> ーーーーーーーーーーーーーーーーー 出力後 =================== ううう 222222222222222222 いいい かかか くくく ききき こここ けけけ さささ すすす ししし せせせせ たたた そそそ ちちち ててて つつつ ===================
- カンマ区切りで値の取り出し
XML内のある値が","で区切られていて、これを一つずつ取得したいのですが、 いいサンプルがなくて困っています。 【例】<abc>1,2,3,4</abc> この中の値は4つとは限りません。 2つであれば、substring-before substring-after、 でいけると思うのですが、例のような場合に for-eachを使って一つずつ取り出せないでしょうか。
- XMLの空白要素をJavascriptのif文で条件分けする
JavascriptもXMLも始めたばかりの者です。 分からないことがあり、皆様にご教授頂ければと思い投稿しました。 XMLで生成したファイルから各要素を取り出してHTMLに置き換えるスクリプトをJavascriptで作ろうと思います。 ~XMLファイル~宣言省略 <links> <link> <url>http://www.○○○.com/</url> <title>○○○~</title> <ban>http://www.○○○.com/XX.gif</ban> </link> <link> <url>http://www.×××.com/</url> <title>×××~</title> <ban></ban>//←画像データ空欄 </link> </links> ~Javascript~前後省略 var a = obj.responseXML; var xmlDoc = a.documentElement; var links = xmlDoc.getElementById("links").length; for(var i=0; i<links; i++) { var link = xmlDoc.getElementsByTagName("link")[i].firstChild.nodeValue; var title = xmlDoc.getElementsByTagName("title")[i].firstChild.nodeValue; var image = xmlDoc.getElementsByTagName("image")[i].firstChild.nodeValue; var html = Html(link,title,image); } function Html(link,title,image) { ~中略~ if(image != ""){ html += '<a href="' + link + '"><img src="' + image + '" alt="' + title + '" /></a>'; } return html; } この後、html内の「<div id="html"></div>」に表示させるのですが、function Html(~)では、画像の有無は絶対条件ではない為if文で条件分けしています。 ですが、この「if(image != "")」で「has no properties」エラ-になります。 ちなみに空欄だった画像データ欄に文字列を入れるときちんと動作します。 XMLタグに文字列が入らない場合、配列には""(空)が返されないのでしょうか? 何か良い方法はありましたら、よろしくご教授くださいませ。 よろしくお願いいたします。
- 特殊文字の処理について
XSLT上で、「&」を記述し、それをパーサー経由で、XHTMLに変換しようしているのですが、どうしてもエラーになってしまいます。どうすればよいのでしょうか? 例えば、次のような感じです。 よろしくお願いします。 XSLT-------------------------------------- <a> <xsl:attribute name="href">./test.phpflg=1&file=<xsl:value-of select="id"/></xsl:attribute> </a>
- xsl:chooseでこんなことがしたい
はじめまして。XML初心者です。 元データとなるXMLを読み込んでHTML変換する為のスタイルシートの作成を試みています。 xsl:chooseを使って以下のようなことがしたいのですが、 ご存知の方いましたら教えてください(xsl:chooseに拘りはありません) ・元データの基本構造 ------------------------------------------------------ <A> <B> <C1>てすと</C1> </B> </A> ------------------------------------------------------ ・やりたいこと <C1>の要素内容がNULLなら"★"マークを表示したい。 作ったスタイルシート ------------------------------------------------------ ~ <xsl:choose> <xsl:when test="C1=''">★</xsl:when> <xsl:otherwise><xsl:value-of selct="C1"/></xsl:otherwise> </xsl:choose> ~ ------------------------------------------------------ という感じで試したらうまく”★”マーク表示ができたのですが、対象のXMLデータに例外があり、 <C1>以下の要素がない場合があったのです。 この例外でも同様の”★”表示させたいのですが、うまい方法ご存知の方いましたら教えてください。
- 構文に問題がないRSSフィードを作ったのにRSSリーダに登録できません。
feedanalyzerでチェックした分には特に問題がないのですが、livedoorリーダで登録できませんでした。 拡張子がphpなのは、アクセスをカウントするためです。phpのソースは以下になります。 <?php //カウントする require_once("./lib/Init_class.php"); $init_obj = new Init_class(); $accesstxt = "./data/access.txt"; $init_obj->access_add($accesstxt); readfile("rss1.rdf"); ?> どなたか原因がわかる方がおられましたら教えてください。 xmlファイルは以下のURLになります。 http://www.ecstyle.jp/rss/make_rss/rss1.php どうぞよろしくお願いします。
- PHPを使ったDOMの操作で兄弟ノードへ移動する方法が分からない。
PHPを使ったDOMの操作でxml文書から要素を抽出したいのですが、兄弟ノードへの移動の仕方が分かりません。 <?xml version="1.0" encoding="UTF-8" ?> <rss version="2.0"> <channel> <title>○○○</title> <link>×××</link> <item> <title>更新2つ目</title> <link>http://www.~~/02/</link> <description> <p>文書2</p> </description> <category>エッセイ</category> </item> <item> <title>更新1つ目</title> <link>http://www.~~/01/</link> <description> <p>文書1</p> </description> <category>エッセイ</category> </item> </channel> </rss> 例えば、以上のような場合、後々<item>を更に現在ある一番上の<item>の上に追加していくことを考えて、現在(上)の<item>の部分から直に次(下)の<item>へカレントノードを移動させることは可能でしょうか?参考書を読みながら現在(上)の<item>から<link>要素は取り出せたのですが、「次(下)にくる<item>の<link>をとりだす」方法が、最上位のルート要素を経由し、そこから何個目の<link>か数えてから取り出す方法しか分かりません。それでは後に(<link>を内包した)<item>を追加することを考えると、順番が変わってきてしまうので、参照したい<link>が変わってしまう事になります。 検索して調べようと思ったのですが、PHPによるDOMの操作の情報が見つかりませんでした。やり方を知っている方がいれば教えて欲しいです。また、PHPによるDOMの操作について詳しく載っているサイトや書籍(「PHP5&XMLによるWebサービス構築」は持っています)もあれば教えてください。よろしくお願いします。
- XSLTの置換(?)
XSLT初心者です。 例えば、 -XML------------- <data>○○○○○<color>●●●●●</color>○○○○○○○○○○○○</data> ---------------- があったとして、それを、 -HTML------------- <p>○○○○○<font color="red">●●●●●</font>○○○○○○○○○○○○</p> ---------------- のようなHTMLへ変換するためのXSLTは どのように記述すればよいのでしょうか? 初歩的な質問なのかも知れないのですが、 よろしくお願いします。
- XSLでの指定方法
こういったXMLファイルがあり、 XSLにて変換をしたいと思っています。 <success> <table> <list> <row> <value>value1</value> <value>value2</value> <value>2</value> <value>10</value> <value>20</value> </row> ・ ・ ・ ・ </list> </table> </success> 上の例にある、 <value>20</value> valueの5番目が20以上のときだけ 色を変更して表示したいと思っています。 xslで <xsl:for-each select="value"> <xsl:if test="value[5]>= 20"> <xsl:attribute name="bgcolor">255,50,50</xsl:attribute> <xsl:value-of select="."/>, </xsl:if> としたのですが、 うまくいきません。 条件式が問題だとは思いますが、 どのような式にしたらよいのでしょうか?