- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有一个使用 XMLWriter
创建的 XML 提要。它在 PHP 5.6 vagrant box 上的开发中完美运行。在运行 PHP 5.4 的实时服务器上,提要无法呈现并显示一条消息:
This page contains the following errors:
error on line 3 at column 6: XML declaration allowed only at the start of the document
如果您查看源代码,它看起来是这样的:
不知何故,有几行被添加到 XML 文档中。服务器之间的唯一区别是 PHP 版本(据我所知)。
这是 XMLWriter 代码的前几行:
$xml = new XMLWriter();
$xml->openURI('php://output');
$xml->startDocument("1.0");
$xml->setIndent(true);
$xml->startElement("propertyList");
$xml->writeAttribute('date', date('Y-m-d-H:i:s'));
有什么办法解决这个问题吗?
最佳答案
从 PHP 5.4 到 5.6 有相当多的变化……更不用说 libxml 的变化了……
首先显然要确保在打开之前没有空格 <?php
标记或结束标记之后(如果使用)。
如果您能确定何时引入新行(假设它们是新行...您是否使用过十六进制查看器之类的东西?),将会有所帮助。尝试写入临时位置 - 想要确定这是在提供页面时还是在 xmlWriter 输出时发生。
想到的事情......
也许明确说明 indetString
是什么应该。 $xml->setIndentString(" ");
默认编码...?也许尝试得到那套。期望打开 xml 标签... encoding="UTF-8"
.使用 startDocument('1.0', 'utf-8');
并且可能应该发送标题,如:header('Content-Type: application/xml; charset=UTF-8');
.是你的default_charset
UTF-8?
这两种环境之间还有哪些区别?像 short_open_tag
这样的东西等
LIBXML_HTML_NOIMPLIED
? 5.4 左右有变化吗?解决方法:
尝试调用电话 ob_clean
在开始写入输出流之前。
使用 trim
.
升级服务器,这几天谁要上5.4:)
关于php - PHP xmlwriter 文档中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31800488/
我想知道 XmlWriter.WriteStartDocument() 背后的原因和 XmlWriter.WriteEndDocument() . 在我的场景中,我正在创建一个包含一些数据的 XML
我想使用 XMLWriter 在 XML 文档之上生成一个嵌套的实体 DTD 声明。我从不带 XMLWriter 的字符串构建代码开始,它也说明了所需的输出: \n"; $sXML .= "%nest
我正在使用 XmlWriter,我想知道是否有人曾尝试编写带有属性的 xml 元素字符串(叶节点),以便输出看起来像 999 代替 999 最佳答案 您可以使用 WriteString .
我无法理解 XmlWriter 在 C# 中的工作方式。假设以下代码在某处使用过。 StringBuilder builder = new StringBuilder(); XmlWriterSett
我正在使用 XmlWriter 并且正在努力创建以下 XML 标记。 我有以下内容: XmlWriterSettings settings = new XmlWriterSettings(); se
我正在尝试生成符合这种格式的 XML 数据: 由于匿名原因,它显然缺少很多标签。 我正在使用 XmlWriter。 我设法用不同的 WriteStartElement() 和 Write
目前我正在使用 XmlWriter,想问一下如何在现有的 XML 文件中写入,例如: a.xml Test3 100 加入 ,例如 Test1 的位置没有任何作用,但最好写在
我正在使用 XmlWriter 构建一些 xml,使用有效的 xml 文件作为我的模板。在文件中,我有这一行: 所以,我在 C# 中做了这个: writer.WriteStartElement("ds
我有一个问题。我编写了一个程序,将大量数据转换为 VML-GML 格式。问题是我需要使用 XmlWriter... 现在我的方法有问题: private void StartDocument() {
下面是代码。我的问题是,如果我想创建此文件,然后稍后使用 XmlWriter 重新打开它并向当前文件添加更多内容,该怎么做?喜欢使用 XmlWriter 进入并编辑此 xml using System
我在 msdn 文档中找到了异步使用 XmlWriter 的示例 http://msdn.microsoft.com/en-us/library/system.xml.xmlwriter.aspx a
我正在使用 XMLWriter http://www.php.net/manual/en/book.xmlwriter.php让我的网络客户端创建一个 XML 文件。一开始必须有一个具有很多属性的元素
我有一个 WCF 服务需要返回一个 XML 字符串。但似乎作者只想建立一个文件,而不是一个字符串。我试过: string nextXMLstring = ""; using (XmlWriter wr
我正在尝试生成此文档类型字符串: 这是我一直在尝试的: $writer.WriteDocType("games", $null , "transform.dtd", $null ) 我不完全确定如何
我试图将我的应用程序中的一些元素保存在 xml 文件中,但是当我开始使用以下代码开发它时: public static void WriteInFile(string savefilepath)
我有以下代码: MemoryStream ms = new MemoryStream(); XmlWriter w = XmlWriter.Create(ms); w.Writ
本文整理了Java中org.pageseeder.xmlwriter.XMLStringWriter类的一些代码示例,展示了XMLStringWriter类的具体用法。这些代码示例主要来源于Githu
System.Xml.XmlWriter的一个实例正在写入底层 Stream 吗?(不管 XmlWriter 的具体实现是什么) 那么为什么程序员没有方法可以从 XmlWriter 中检索 Strea
我将如何使用 XMlWriter 类创建这个字符串?我不断收到错误。 这是我尝试创建的 XML 字符串: 这是我试图用它生成的代码: using (XmlWriter writer = XmlWri
我在 XMLWriter 没有关闭时遇到了一些麻烦。我可以成功写入一次 XML 文件,但是如果我尝试再次写入(覆盖),则会出现异常: “该进程无法访问文件 'somefile.xml',因为它正被另一
我是一名优秀的程序员,十分优秀!