问题标签 [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.
objective-c - -[NSXMLNode nodesForXPath:error:] 返回空数组,而它不应该返回
我正在尝试解析 Atom 提要。我NSXMLNode
通过一个类别扩展了这种方法:
当只需要一个节点时,此方法返回节点的字符串值。
Atom 提要的条目如下所示:
我有一个NSXMLElement
像上面这样的对象。但是,当尝试获取title
或id
时entry
,-[NSXMLNode nodesForXPath:error:]
返回一个空数组(因此我的扩展返回nil
):
可能是什么问题呢?我的 XPath 查询错了吗?中显然有一个id
,entry
并且entry
是根元素。
是的,NSLog
-ingXMLElement
证实了我的最后一句话。
xml - 在 NSXMLElement 的属性值中编码换行符
我正在读写的 XML 数据库的注释字段存储为 NSXMLElement 的属性。一个条目包含换行符 (0x0a) 字符。这些由我正在解析的文档中的非 NSXML 编码器编码,

并由 NSXML 正确解析。它们导致 NSString 包含内存中的 unicode 值 0x0a 0x00 (英特尔字节排序)。
例如:
当将此 NSString 作为 NSXMLElement 属性的值写回时,它不会被编码回并导致以下内容输出到 xml 文件:
再次重新读取文件时,当然不会正确解析。
似乎节点选项像NSXMLNodePreserveCharacterReferences
或NSXMLNodePreserveEntities
应该是要走的路,但它似乎没有任何帮助。
我一定错过了显而易见的事情,但我整天都被困在这上面。
xcode - NSXMLParser 无法解析特殊字符(重音)
我正在使用 NSXMLParser 从 url 解析 xml (我的代码几乎与此处完全相同)
一些元素包含特殊字符,例如“á”,这会导致单词 likándre 分成两个(á 和 ndre)。
这是我的 loadXMLByURL
我很确定这是因为未设置编码(我认为它需要是 NSUTF8StringEncoding),但我不确定在哪里/如何应用它。
[更新]我的其余代码......
[更新 2] 示例 xml...
objective-c - 带有单独标签的 NSXMLElement 。IE。
我正在尝试创建一个应包含单独标签的 XML 字符串(即没有单独结束标签的标签)我能够创建普通的 xml 标签,例如
使用代码
但我需要这样
objective-c - 在 Cocoa 中写入 XML
是否可以在不使用外部库的情况下写入我已读取的 XML 文件?我已经阅读过关于使用 KissXML 进行写作的文章,但我想不带任何额外内容进行写作。
因此,如果我在内存中有一个 NSXMLElement 或 NSXMLDocument,我将如何更改其中一个节点?
谢谢
objective-c - NSXMLDocument 写入 .xml
有谁知道为什么文件在第 9 行的“<taskinprogress>”行格式不正确。它将“<project>”与“<taskinprogress>”放在同一行,我不知道为什么。我希望将“<project>”移到下一行(不向字符串添加 \n 字符)。
以下是我声明所有节点和元素的代码。
objective-c - 可可替换 XMLElements
如果我有以下示例代码:
我正在尝试获取一个 XML 元素并将其值更改为另一个 (c2)。问题是随着新节点的替换,我将元素名称也插入到 XML 文档中。
所以,如果我有
我现在得到:
我怎样才能编写代码,以便
不显示?谢谢
PS 更简单的解释方式:
基本上,我想用另一个元素替换一个元素。所以从
我希望有
在它的位置。
objective-c - 未找到 NSXMLNode 变量名称
这里有奇怪的错误......对于这段代码:
第一行返回错误“未使用的变量根”,第二行返回错误“'root'未在此范围内声明..
有任何想法吗?谢谢。
objective-c - 从 NSXMLDocument 中过滤掉 BOM 字符
XML 文件中某些元素的 stringValue 中包含 BOM 字符。xml 文件被标记为 UTF-8 编码。
其中一些字符位于字符串的开头(因为它应该来自我所读到的内容),但有些字符位于字符串的中间(可能来自编写 xml 文件的人的格式错误的字符串?)。
我打开文件:
我以这种方式查询元素:
我的问题是:
我打开文件错了吗?文件格式不正确?我查询元素的字符串值是否错误?如何过滤掉这些字符?
objective-c - 在文档顶部插入 NSXMLElement/Child
这会在“主”根中的文档的最底部插入一个新元素和子元素:
我需要将此作为第一个或第二个节点插入到文档顶部。我该怎么做?
谢谢。
-保罗。
编辑:
呃......我不敢相信这很容易......