【问题标题】:Step through xml, do something specific at a tag单步执行 xml,在标签处执行特定操作
【发布时间】:2013-01-07 07:13:39
【问题描述】:

有人可以指点我这方面的教程吗?我在 Stackoverflow 上查看了一些类似的问题,并在手册中查看了 PHP DOM。

我有一个 XML 文档,并且有两个特定的标签想要从我的数据库中输出数据,否则仍然会输出其他标签和其中的信息。

所以我想在查询中获取信息以自动动态插入主客场阵容。

<root>
    <sometag>Some text here</sometag>
    <anothertag>Something else here</anothertag>

    <Hometeam>Cardinals</Hometeam>
        <HomeLineup></HomeLineup> -- this would be database driven data

    <Awayteam>Giants</Awayteam>
        <AwayLineup></AwayLineup> -- this would be database driven data

    <yetmoretags>Other stuff</yetmoretags>

</root>

我在这里看到一个创建 xml 文件的示例: Using PHP DOM to create XML files from MySQL data

但是 a) 我不确定如何确保其他 xml 标记和内容会被吐出 b) 不确定我将如何加载这些文件或它们将在什么时候输出。

真的,我正在制作一个包含其他内容的完整页面,与 php 和 javascript 相关,并且不确定在特定 DOM 标记中输出数据库内容的最佳方法。

我查看了 PHP DOM 文档并了解如何操作和查找特定标签,但不知道如何输出整个文档,但具体在该文档中包含动态内容。

【问题讨论】:

    标签: php mysql xml dom


    【解决方案1】:

    这样的模板:

    <?xml version="1.0"?>
    
    <xsl:stylesheet version="1.0"
      xmlns:xhtml="http://www.w3.org/1999/xhtml"
      xmlns="http://www.w3.org/1999/xhtml"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      exclude-result-prefixes="xhtml xsl xs"> 
    
    <xsl:output method="html" version="1.0" encoding="UTF-8" doctype-public="-//W3C//DTD XHTML 1.1//EN" doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" indent="no"/> 
    
      <!-- match and copy verbatim everything - unless there is another template for it -->
      <xsl:template match="@*|node()"> 
            <xsl:copy> 
                <xsl:apply-templates select="@*|node()"/> 
            </xsl:copy> 
      </xsl:template> 
    
      <xsl:template match="HomeLineup"> 
            <xsl:copy> 
                <!-- do something here --> 
            </xsl:copy> 
      </xsl:template> 
    
      <xsl:template match="AwayLineup"> 
            <xsl:copy> 
                <!-- do something here --> 
            </xsl:copy> 
      </xsl:template> 
    
    </xsl:stylesheet>
    

    【讨论】:

    • 注意:[1] 匹配所有内容的模板 - 确保您的所有内容都被复制。 [2] 其他模板将匹配您的特定标签。 [3] 更改样式表和输出声明以满足您的需求
    • 感谢迈克的回复。只是还没有机会看任何东西。将不得不做一些阅读并回复您。
    猜你喜欢
    • 1970-01-01
    • 2011-03-20
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    • 2022-12-03
    • 2017-06-23
    相关资源
    最近更新 更多