问题标签 [nsxmlelement]

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 投票
0 回答
806 浏览

objective-c - -[NSXMLNode nodesForXPath:error:] 返回空数组,而它不应该返回

我正在尝试解析 Atom 提要。我NSXMLNode通过一个类别扩展了这种方法:

当只需要一个节点时,此方法返回节点的字符串值。

Atom 提要的条目如下所示:

我有一个NSXMLElement像上面这样的对象。但是,当尝试获取titleidentry-[NSXMLNode nodesForXPath:error:]返回一个空数组(因此我的扩展返回nil):

可能是什么问题呢?我的 XPath 查询错了吗?中显然有一个identry并且entry是根元素。


是的,NSLog-ingXMLElement证实了我的最后一句话。

0 投票
2 回答
621 浏览

xml - 在 NSXMLElement 的属性值中编码换行符

我正在读写的 XML 数据库的注释字段存储为 NSXMLElement 的属性。一个条目包含换行符 (0x0a) 字符。这些由我正在解析的文档中的非 NSXML 编码器编码,
并由 NSXML 正确解析。它们导致 NSString 包含内存中的 unicode 值 0x0a 0x00 (英特尔字节排序)。

例如:

当将此 NSString 作为 NSXMLElement 属性的值写回时,它不会被编码回并导致以下内容输出到 xml 文件:

再次重新读取文件时,当然不会正确解析。

似乎节点选项像NSXMLNodePreserveCharacterReferencesNSXMLNodePreserveEntities应该是要走的路,但它似乎没有任何帮助。

我一定错过了显而易见的事情,但我整天都被困在这上面。

0 投票
3 回答
9701 浏览

xcode - NSXMLParser 无法解析特殊字符(重音)

我正在使用 NSXMLParser 从 url 解析 xml (我的代码几乎与此处完全相同)

一些元素包含特殊字符,例如“á”,这会导致单词 likándre 分成两个(á 和 ndre)。

这是我的 loadXMLByURL

我很确定这是因为未设置编码(我认为它需要是 NSUTF8StringEncoding),但我不确定在哪里/如何应用它。

[更新]我的其余代码......

[更新 2] 示例 xml...

0 投票
3 回答
1509 浏览

objective-c - 带有单独标签的 NSXMLElement 。IE。

我正在尝试创建一个应包含单独标签的 XML 字符串(即没有单独结束标签的标签)我能够创建普通的 xml 标签,例如

使用代码

但我需要这样

0 投票
1 回答
462 浏览

objective-c - 在 Cocoa 中写入 XML

是否可以在不使用外部库的情况下写入我已读取的 XML 文件?我已经阅读过关于使用 KissXML 进行写作的文章,但我想不带任何额外内容进行写作。

因此,如果我在内存中有一个 NSXMLElement 或 NSXMLDocument,我将如何更改其中一个节点?

谢谢

0 投票
1 回答
1902 浏览

objective-c - NSXMLDocument 写入 .xml

有谁知道为什么文件在第 9 行的“<taskinprogress>”行格式不正确。它将“<project>”与“<taskinprogress>”放在同一行,我不知道为什么。我希望将“<project>”移到下一行(不向字符串添加 \n 字符)。

以下是我声明所有节点和元素的代码。

0 投票
1 回答
250 浏览

objective-c - 可可替换 XMLElements

如果我有以下示例代码:

我正在尝试获取一个 XML 元素并将其值更改为另一个 (c2)。问题是随着新节点的替换,我将元素名称也插入到 XML 文档中。

所以,如果我有

我现在得到:

我怎样才能编写代码,以便

不显示?谢谢

PS 更简单的解释方式:

基本上,我想用另一个元素替换一个元素。所以从

我希望有

在它的位置。

0 投票
1 回答
79 浏览

objective-c - 未找到 NSXMLNode 变量名称

这里有奇怪的错误......对于这段代码:

第一行返回错误“未使用的变量根”,第二行返回错误“'root'未在此范围内声明..

有任何想法吗?谢谢。

0 投票
1 回答
192 浏览

objective-c - 从 NSXMLDocument 中过滤掉 BOM 字符

XML 文件中某些元素的 stringValue 中包含 BOM 字符。xml 文件被标记为 UTF-8 编码。

其中一些字符位于字符串的开头(因为它应该来自我所读到的内容),但有些字符位于字符串的中间(可能来自编写 xml 文件的人的格式错误的字符串?)。

我打开文件:

我以这种方式查询元素:

我的问题是:

我打开文件错了吗?文件格式不正确?我查询元素的字符串值是否错误?如何过滤掉这些字符?

0 投票
1 回答
327 浏览

objective-c - 在文档顶部插入 NSXMLElement/Child

这会在“主”根中的文档的最底部插入一个新元素和子元素:

我需要将此作为第一个或第二个节点插入到文档顶部。我该怎么做?

谢谢。

-保罗。

编辑:

呃......我不敢相信这很容易......