xslt解析の基本フォーマットは以下の通りです。困っている友達は参考にしてください
解析にはxsltを使用してください基本的な形式は次のとおりです。 たとえば、
のコードは次のとおりです:
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method='html' version='1.0' encoding='GB2312' indent='yes'/> <xsl:template match="/"> <html> <body> //这里可以包含一些xhtml的标签 </body> </html> </xsl:template> </xsl:stylesheet>
(XML 文書を変換するための言語)、x-path (XML 文書内をナビゲートするための言語)、xsl-fo (XML ドキュメントをフォーマットするための言語)、http://www .php.cn/この Web サイトの関連コンテンツに関するチュートリアルを検索してください
前のコードで説明したように、xslt は
xslt については初めてなので、よく理解していません。ここでは重要なポイントをいくつか紹介します。
1. 再帰と送信 パラメータメソッド:
家系図を例に挙げると、XML ファイルは次のようになります:
コードは次のとおりです:
<?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="digui.xsl"?> <person name="Otto" sex="mael" age="60"> <person name="Sandra" sex="mael" age="35"> <person name="Lichao" sex="femael" age="34"> <person name="Zhangsan" sex="mael" age="12"/> </person> <person name="Eric" sex="femael" age="36"> <person name="HaLi" sex="mael" age="18"/> </person> <person name="Lisi" sex="mael" age="30"> <person name="HeLi" sex="mael" age="6"/> <person name="Andy" sex="femael" age="13"/> </person> </person> </person>
実際、家族関係を表現するには xslt を記述する必要があります。そのため、この関係はさまざまなレベルのインデントを出力することによって表現されます。最小の世代は世代ごとにインデントされます。このようにして、ツリーのレベルが明らかになります。 xsl ファイルのコードは次のとおりです。
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method='html' version='1.0' encoding='GB2312' indent='yes'/> <xsl:template match="/"> <html> <body> <xsl:apply-templates select="person"> <xsl:with-param name="level" select="'0'"/> </xsl:apply-templates> </body> </html> </xsl:template> <xsl:template match="person"> <xsl:param name="level"/> <p style="text-indent:{$level}em">name:<xsl:value-of select="@name"/>,sex:<xsl:value-of select="@sex"/>,age:<xsl:value-of select="@age"/></p> <xsl:apply-templates select="person"> <xsl:with-param name="level" select="$level + 2"/> </xsl:apply-templates> </xsl:template> </xsl:stylesheet>
ここで、最初に level というパラメーターを定義します。 構文を使用してテンプレートを作成し、テンプレートをメイン テンプレートに追加するときにパラメータに値を割り当てます ()。 ..)、
2. パラメーターを使用して交互の行の色を変更します。
上記の例とパラメーター レベルを引き続き引用し、再帰中にパラメーターに +2 (偶数) の代わりに +1 (奇数) を与え、(. . test=" $level mod 2 = 0") または (.. test="$level mod 2 = 1") は、
背景を与える-color
により、インターレースされたカラー変更の効果が得られます。具体的なコードは次のとおりです:
コードは次のとおりです:
<?xml version="1.0" encoding="GB2312"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method='html' version='1.0' encoding='GB2312' indent='yes'/> <xsl:template match="/"> <html> <body> <xsl:apply-templates select="person"> <xsl:with-param name="level" select="'0'"/> </xsl:apply-templates> </body> </html> </xsl:template> <xsl:template match="person"> <xsl:param name="level"/> <xsl:choose> <xsl:when test="$level mod 2 = 0"> <p style="text-indent:{$level}em;background-color:#DDD">name:<xsl:value-of select="@name"/>,sex:<xsl:value-of select="@sex"/>,age:<xsl:value-of select="@age"/></p> </xsl:when> <xsl:otherwise> <p style="text-indent:{$level}em;background-color:#EEE">name:<xsl:value-of select="@name"/>,sex:<xsl:value-of select="@sex"/>,age:<xsl:value-of select="@age"/></p> </xsl:otherwise> <xsl:apply-templates select="person"> <xsl:with-param name="level" select="$level + 1"/> </xsl:apply-templates> </xsl:template> </xsl:stylesheet>
三、符号转义以及CDATA语法:
目前碰到的只有“” 要转义成如果在表达式里出现这两个符号,页面在预览的时候就会报错;
另外我们需要将原文件的内容原封不动的输出来,包括换行或上面的大于和小于号等页面元素,这时候就需要CDATA这个标签, CDATA全称character data,翻译为字符数据,数据不进行转义直接输出。语法格式如下:
例如:
]]>
在页面上显示的内容将是"
四、几个教程中并没有提到的名词:
1、local-name();例子:
2、
用apply时,引擎自动搜索与当前select指定xpath的匹配节点相匹配的template(该template必须有属性match)并使用该template进行处理,此时需要指定的是select的path。
用call时就跟其它语言调用函数一样,必须指定name属性,相应的,该template必须有name属性,当然,也可以在这时with-param(当然相应的模板中有对应的param才行,不过这个不强制要求)。通过设置mode属性可以调用同一内容的不同表现形式,这个由自己去定义。
3、count(ancestor::*)这种写法是计算当前节点有多少个祖先节点,当然 ancestor也可以用child,following-sibling等xpath关系。
五、对于要符合多条件的判断,xslt不能很好的支持:
以家族树为例,我要取一个位于第二层的,名字叫Lichao的人,如果按字面理解我们可以写成
以上是在学习和使用xslt对xml进行解析的过程中的一些感想和记录,xslt很强大,有很多功能都没有涉及,当然,我还要继续学习和研究。
以上がxslt を使用して XML を xhtml に解析するコード例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

RSSにおけるXMLの中心的な役割は、標準化された柔軟なデータ形式を提供することです。 1. XMLの構造とマークアップ言語の特性により、データ交換とストレージに適しています。 2。RSSはXMLを使用して標準化された形式を作成して、コンテンツの共有を容易にします。 3. RSSでのXMLの適用には、タイトルやリリース日などのフィードコンテンツを定義する要素が含まれます。 4.利点には標準化とスケーラビリティが含まれ、課題にはドキュメントの冗長および厳密な構文要件が含まれます。 5.ベストプラクティスには、XMLの有効性の検証、シンプルな状態を維持し、CDATAの使用、定期的に更新されます。

rssfeedsarexmldocumentsusedforcontentaggregationanddistribution.totransformthemintoreadablecontent:1)parsethexmlusinglibrarieslibrarieslibrarieslibrarieslibrarieslibrarieslibrarieslibraries.2)heandlederentrssiversions andpotentialparsingerrors.3)変換された拡張型拡張型のfienderidederidrederidederidederidedionderiondiontiontiontiontiontiontiontiontional

JSonFeedは、JSONベースのRSSの代替品であり、その利点のシンプルさと使いやすさがあります。 1)JSonFeedはJSON形式を使用しますが、これは簡単に生成して解析できます。 2)動的生成をサポートし、最新のWeb開発に適しています。 3)JSonFeedを使用すると、コンテンツ管理の効率とユーザーエクスペリエンスが向上する可能性があります。

RSSFeedsを構築、検証、公開する方法は? 1。ビルド:Pythonスクリプトを使用して、タイトル、リンク、説明、リリース日など、RSSFeedを生成します。 2。検証:FeedValidator.orgまたはPythonスクリプトを使用して、RSSFeedがRSS2.0標準に準拠しているかどうかを確認します。 3.公開:RSSファイルをサーバーにアップロードするか、フラスコを使用してRSSFeedを動的に生成および公開します。これらの手順を通じて、コンテンツを効果的に管理および共有できます。

XML/RSSFeedsのセキュリティを確保する方法には、次のものが含まれます。1。データ検証、2。暗号化された伝送、3。アクセス制御、4。ログと監視。これらの測定値は、ネットワークセキュリティプロトコル、データ暗号化アルゴリズム、アクセス制御メカニズムを介して、データの整合性と機密性を保護します。

XMLはデータの保存と転送に使用されるマークアップ言語であり、RSSは頻繁に更新されるコンテンツを公開するために使用されるXMLベースの形式です。 1)XMLはタグと属性を介してデータ構造を記述します。2)RSSは特定のタグの公開と購読コンテンツを定義します。3)XMLは、PythonのXML.ETREE.ELEMENTTREEモジュールを使用して作成および解析できます。 XMLLINT、7)SAXパーサーで大規模なXMLファイルを処理することで検証できます。パフォーマンスを最適化できます。

XMLはデータストレージと交換用のマークアップ言語であり、RSSは更新されたコンテンツを公開するためのXMLベースの形式です。 1。XMLは、データ交換とストレージに適したデータ構造を定義します。 2.RSSはコンテンツサブスクリプションに使用され、解析時に特別なライブラリを使用します。 3. XMLを解析するときは、DOMまたはSAXを使用できます。 XMLおよびRSSを生成する場合、要素と属性を正しく設定する必要があります。

Pythonを使用して、XML/RSSからJSONに変換します。 1)解析データ、2)フィールドを抽出する、3)JSONに変換、4)出力JSON。 XML.Etree.ElementTreeおよびFeedParserライブラリを使用してXML/RSSを解析し、JSONライブラリを使用してJSONデータを生成します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

Dreamweaver Mac版
ビジュアル Web 開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SublimeText3 中国語版
中国語版、とても使いやすい
