问题标签 [simplexml]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1374 浏览

php - 如何使用 SimpleXML 解析 XML 以获取多个文本块?

我想解析一些看起来像这样的 XML:

如何访问 Simple XML 中的文本节点子节点?

我可以按正确的文本和元素子项顺序访问它们吗?

我需要一些其他的包吗?

0 投票
4 回答
886 浏览

php - Simple XML 如何使用 [] 运算符?

在 PHP 中,您可以在元素上使用方括号来访问属性:

奇怪的是,这$id不是一个字符串,而是另一个SimpleXMLElement. 为什么不是字符串?我发现自己strval()到处都在使用它。

方括号是如何工作的?我可以用自己的课程做到这一点吗?我在文档中没有看到任何关于此的内容。

0 投票
1 回答
2009 浏览

php - Simple_XML 跨域文件访问已禁用

我需要从我拥有的 PHP 的另一个域中检索 XML 文件。

我正在使用 simple_XML 来执行此操作,但显然禁用了跨域:

警告:simplexml_load_file() [function.simplexml-load-file]:在服务器配置中禁用 URL 文件访问

我无权访问服务器的配置(共享主机)。

关于如何执行此操作的任何线索?

0 投票
6 回答
3517 浏览

php - 如何区分表示元素和属性的 SimpleXML 对象?

我需要以特定方式打印任意SimpleXML 对象,并对属性节点进行特殊处理。

问题是 SimpleXML 元素和属性似乎使用完全相同的类,属性节点甚至假装支持attributes()方法,而 SimpleXML 隐藏了它的内部,所以似乎没有任何方法可以告诉节点类型(缺少生成 XML并重新分析它)。

两者都给出相同的结果:

是否有允许在 SimpleXML 中识别节点类型的隐藏属性/方法?等效于 DOM$node->nodeType$node instanceof DOMAttr? (我不能改用 DOM,对 SimpleXML 的支持是核心要求)。

0 投票
5 回答
38930 浏览

php - 使用具有多个命名空间的 SimpleXML 解析 XML

我有这个丑陋的 XML,上面有很多命名空间,当我尝试用 simpleXML 加载它时,如果我指示第一个命名空间,我会得到一个 xml 对象,但是跟随带有其他命名空间的标签不会进入对象。

如何解析这个 XML?

我试图用下面的代码解析它

但 $xml 对象将仅包含以下内容

0 投票
4 回答
16913 浏览

php - 在 SimpleXML 中,如何将现有的 SimpleXMLElement 添加为子元素?

我有一个 SimpleXMLElement 对象 $child 和一个 SimpleXMLElement 对象 $parent。

如何将 $child 添加为 $parent 的子级?有没有办法做到这一点而无需转换为 DOM 并返回?

addChild() 方法似乎只允许我创建一个新的空元素,但是当我要添加的元素 $child 也有子元素时,这无济于事。我想我可能需要在这里递归。

0 投票
6 回答
1391 浏览

php - PHP printf 不打印,simplexml_load_string 不解析

我有一些数据不会打印出来......

echo 有效,但 printf 无效

字符串中有数据,simplexml_load_string 也不会解析字符串。

有一些二进制或不可见字符我看不到,也无法获得序数值,导致 printf 以及 PHP 中的大多数其他字符串函数失败。

显然这是一个编码问题,但是,我不知道如何找出它是什么,以便我可以正确编码/解码它。

...

...

显然那里有数据,如果我遍历每个字符,我知道它就在那里,但是,我不知道从那里去哪里。

[更新] 这很奇怪,因为序数值超出了典型的 ASCII 范围。

ord($buffer[$i]) = 1610

它是 DLE 和 LF 字符的组合。不知道它是如何到达那里的或为什么。或者它应该是什么,两边的数据都是有效的,而且它的位置很奇怪。

认为 <此处有问题的字符>0,000

0 投票
4 回答
60007 浏览

php - PHP simpleXML如何以格式化的方式保存文件?

我正在尝试使用 PHP 的 SimpleXML 将一些数据添加到现有的 XML 文件中。问题是它在一行中添加了所有数据:

等等。全部在一条线上。如何引入换行符?

我怎样才能做到这一点?

我正在使用asXML()功能。

谢谢。

0 投票
7 回答
10561 浏览

php - 从 SimpleXMLObject 到 Array 的递归转换

我需要递归地将 PHP SimpleXMLObject 转换为数组。问题是每个子元素也是一个 PHP SimpleXMLElement。

这可能吗?

0 投票
2 回答
2742 浏览

php - Youtube API 的 PHP 语法错误:解析错误:语法错误,意外的 T_ENCAPSED_AND_WHITESPACE,需要 T_STRING 或 T_VARIABLE 或 T_NUM_STRING

我在第 54 行不断收到此错误,我不知道为什么。我要做的就是处理查询结果的第一个条目:提取它的 URL 以便构造一个可嵌入的视频对象。