php - 从 XML 文件中去除所有标签

标签 php asp.net xml xslt

我有一个很大的 XML 文件,我想去除所有标签并只保留节点值。我希望每个节点值在单独的一行中。我该怎么做?

我可以使用免费软件或使用 PHP 或 ASP.NET 代码来实现吗?我也查看了 XSLT 选项。对于 RegEX 来说可能太多了。我探索了 PHP 选项,查看了 simplexml_load_file()strip_tags()get_file_contents() 但失败了。

<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- a comment -->
<catalog>
    <cd>
        <title>Empire Burlesque</title>
        <artist>Bob Dylan</artist>
        <country>USA</country>
        <company>Columbia</company>
        <price>10.90</price>
                <address>
                         <city>Melbourne </city>
                         <zip>01803 </zip>
                </address>
        <year>1985</year>
    </cd>
    <cd>
        <title>Hide your heart</title>
        <artist>Bonnie Tyler</artist>
        <country>UK</country>
        <company>CBS Records</company>
        <price>9.90</price>
        <year>1988</year>
    </cd>

</catalog>

编辑:这是我尝试过的方法。

<?php

$xml = simplexml_load_file('myxml.xml');
echo strip_tags($xml);

?>

最佳答案

你应该这样做:

<?php
$xml = file_get_contents('myxml.xml');
$xml = nl2br($xml);
echo strip_tags($xml,"<br>");
?>

您缺少换行符的原因是因为在 XML 中,它存储为纯文本换行符 \n而当显示为 HTML 时,您必须明确 <br>换行符。因此,优秀的 PHP 人员制作了一个名为 nl2br() 的方便函数。为你做这件事。

关于php - 从 XML 文件中去除所有标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10607960/

相关文章:

php - 如何在 Laravel 上传之前压缩图像?

c# - 第二个参数干扰通用处理程序

c# - ASP.NET 视频 webm 未加载

c# - 如何在 Mono Ubuntu 上找到 .Net Framework Data Provider for MySql 的存在?

c# - 如何从以下文件中读取 xml 元素?

python lxml 3.3.5 - 加载代码时出错 - "ValueError: lxml.etree._Element has the wrong size, try recompiling"

PHP变量正确回显但未进入数据库

php - 同时在服务器和用户上下载

xml - XSLT/XPath 中的当前节点与上下文节点?

php - 数据库查询切断了长文本的结尾