我正在使用PHP SimpleXML方式处理我的服务器上的XML文件.我只需要阅读XML的内容(我不需要修改它)所以我坚持使用简单易用的SimpleXML.但SimpleXML在读取某个XML文件时遇到问题,因为它有一些非常奇怪的字符.我收到以下错误:
Warning: simplexml_load_file() [function.simplexml-load-file]: data/data.xml:348: parser error : PCDATA invalid Char value 3 in C:\xampp\htdocs\VMP\xintel\analyzer.php on line 54 Warning: simplexml_load_file() [function.simplexml-load-file]: Jardin al fte. Hall de recepcion, amplio living comedor. ocina comedor diario c in C:\xampp\htdocs\VMP\xintel\analyzer.php on line 54
我无法控制XML文件中的内容,所以我无法阻止这些字符被添加到文件中.另外,我不知道如何解决这个问题.该文件应该以utf-8编码.所以我尝试了从UTF-8到ISO-8859-1的解码,反之亦然,但没有发生任何事情.
有人可以帮帮我吗?我应该尝试更改编码吗?我应该尝试删除这些字符吗?什么?
编辑:stangre字符都是框图字符(请参阅:http://en.wikipedia.org/wiki/Box-drawing_characters)
为了获得所有定义的类属性,我尝试使用
TheClass.__dict__
Run Code Online (Sandbox Code Playgroud)
但这也给了我特殊的属性。有没有办法只获得自定义属性,还是我必须自己“清理”字典?
我正在构建一个带有自包含HTTP服务器的应用程序,可以直接访问,也可以放在反向代理(如Apache mod_proxy)之后.
所以,假设我的应用程序在端口8080上运行,你就像这样设置你的Apache:
ProxyPass /myapp http://localhost:8080
ProxyPassReverse /myapp http://localhost:8080
Run Code Online (Sandbox Code Playgroud)
这将导致进入主Apache服务器的HTTP请求/myapp/*将代理到我的应用程序.如果请求进来GET /myapp/bar,我的应用程序将会看到GET /bar.这是应该的.
出现的问题是生成必须从我的应用程序的URI空间转换的URI,以便通过代理正常工作(即前置/myapp/).
该ProxyPassReverse指令负责处理HTTP头中的URI(重定向等等).但是这不处理由我的应用程序或静态文件和模板生成的HTML中的URI.
我知道像这样的过滤器mod_proxy_html,但这是一个非标准的Apache模块,在任何情况下,这些过滤器可能无法用于其他能够充当反向代理的前端Web服务器.
所以我想出了一些可能的策略:
需要在包含代理路径的某处设置环境变量,并将其添加到所有生成的URI之前.这似乎不优雅; 它打破了反向代理提供的封装.
将代理路径放在我的应用程序的配置文件中.与上述相同的反对意见.
在我的应用程序中仅使用相对URI.这可能有点棘手; 我必须计算当前资源和链接的位置之间的路径差异,并添加适当数量的../'es.看起来很乱.另一个问题是有些东西必须生成绝对URI,比如RSS提要和生成的电子邮件.
在前端使用一些hacky Javascript来粘贴文档文本中的URI.从互操作性的角度来看,这似乎是一个非常可怕的想法.
在我的代码中使用单一的URI生成函数,并要求通过我的模板系统运行"静态"文件,如Javascript,CSS等.这是我现在倾向于的想法.
这一定是一个相当普遍的问题.你过去怎么接近它?什么有用,什么使事情变得更加困难?
有没有办法从应用程序调用托管内存中的特定对象上的垃圾收集器?
例如(伪代码)
Read myString from file;
perform arbitrary operation on myString;
invoke garbage-collector to remove myString
Run Code Online (Sandbox Code Playgroud) 我只是在Silverlight中弄湿了,并没有真正理解创建UserControl与为同一任务创建控件的差异和优缺点(就像在右键单击Expression Blend中的选择时一样)例如).
看起来选择"Make Into Control"只是为您指定的基类型创建一个新模板,而创建UserControl则创建一个全新的基类.那是对的吗?
在这个特定的例子中,我正在创建一个自定义文本框控件,它只接受数字,并将自己分成3个部分,将3个值存储到单独的属性中,如下图所示.在这种特殊情况下,哪种情况最好?
截图2 http://tinyurl.com/y9x7zox
更新(附加问题):为什么我不能将模板绑定与UserControl一起使用,但我可以使用Control?这就是我认为制作UserControl可能不是正确决定的原因之一.
我正在使用.NET 4.0 beta 2中的新System.ComponentModel.Composition命名空间,也称为Managed Extensibility Framework.
我使用以下C#示例,其中Monkey导入a Banana:
public interface IBanana
{
}
[Export(typeof(IBanana))]
public class Banana : IBanana
{
}
public class Monkey
{
[Import(typeof(IBanana))]
public IBanana Banana { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试按如下方式编写猴子时,我得到一条InvalidOperationException消息" 此对象尚未初始化 - 必须设置属性'SourceProvider'. ":
var exportProvider = new CatalogExportProvider(new TypeCatalog(typeof(Banana)));
var container = new CompositionContainer(exportProvider);
var monkey = new Monkey();
container.ComposeParts(monkey);
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?我知道我可以直接传递目录而不将其包装在CatelogExportProvider中,但是上面也不应该工作吗?
我需要将 MFC CString 对象列表连接到单个 CSV 字符串中。.NET 已String.Join完成此任务。在 MFC/C++ 中是否有一种既定的方法来做到这一点?
我正在尝试在JQGrid中实现内联插入.到目前为止,我的方法是:
addRowData在ID = -1的末尾放置一个空行editGridRow编辑该行令人惊讶的是,这个rube goldberg计划运作良好.但是,为了使其无缝,我想静默更新刚刚添加的行的ID,以便用户可以继续编辑其他列.我宁愿不做grid.trigger("reloadGrid"),因为我失去了对那一行的关注.
我试过了
grid.setRowData(-1, { MyPrimaryKeyField: newID });
Run Code Online (Sandbox Code Playgroud)
但这不起作用(它仍然认为行的ID是-1).有没有一种简单的方法来更改行的主ID而无需重新加载整个网格?
在右上角的http://jqueryui.com/demos/accordion/上,您可以看到默认情况下显示"主题:UI亮度"的下拉列表.
我想在我的Web应用程序中创建这样一个交互元素.有没有人知道一个好的jquery插件可以轻松做到这一点?
SQLite只有INNER和LEFT JOIN.
有没有办法与SQLite进行完全外连接?