问题列表 - 第4786页

在C#中以编程方式检查XML文件格式良好的最快方法是什么?

我有大批手动更新的XHTML文件.在更新的审查阶段,我想以编程方式检查文件的格式.我目前正在使用XmlReader,但平均CPU所需的时间比我预期的要长得多.

XHTML文件的大小范围为4KB到40KB,每个文件的验证需要几秒钟.检查是必不可少的,但我希望尽可能缩短时间,因为在将文件读入下一个流程步骤时执行检查.

有没有更快的方法来进行简单的XML格式检查?也许使用外部XML库?


我可以确认使用XmlReader验证"常规"基于XML的内容是快速的,并且正如所建议的那样,问题似乎与每次验证文件时读取XHTML DTD的事实有关.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

请注意,除了DTD之外,还会下载相应的.ent文件(xhtml-lat1.ent,xhtml-symbol.ent,xhtml-special.ent).

由于完全忽略DTD并不是XHTML的真正选择,因为良好的格式与允许的HTML实体紧密相关(例如,当我们忽略DTD时,会立即引入验证错误).


通过使用建议的自定义XmlResolver,结合DTD和实体文件的本地(嵌入)副本,解决了该问题.

一旦我清理了代码,我就会在这里发布解决方案

c# xml well-formed

6
推荐指数
1
解决办法
4306
查看次数

1
推荐指数
1
解决办法
803
查看次数

在FLEX中重新调度事件

在FLEX应用程序中,我正在尝试"重新发送"自定义事件.即component1执行dispatchEvnet(event),component2注册事件的处理程序,处理程序的唯一功能是dispatch(event).最后,component3侦听来自component2的事件.我想要做的是类似于"重新抛出"异常的概念(和类似的原因).不同之处在于重新分派似乎在AS3(Flash 10)中不起作用.在IE中,没有任何反应,在FF3中有一个例外,说在调用component3中的处理程序时尝试将Event类型强制转换为我的CustomEvent时类型转换失败.调试器中的跟踪代码显示,在调用component3时,事件确实是一般事件,我的所有自定义内容都丢失了.应该是这样吗?

apache-flex events actionscript actionscript-3

12
推荐指数
1
解决办法
2289
查看次数

如何判断字符串是否是网址?

确定字符串是否代表网址的最佳方法是什么?我需要让用户在表单中输入网址,但如何验证输入?应允许用户输入" http://www.google.com "或"www.vg.no" 等字符串,但不应要求他输入"http://".此外,有像"tv2.no"这样的网页更难以验证.如果我检查字符串是否包含"www"或"http://"我有一个强有力的线索,但我仍然不是100%肯定.我能100%肯定吗?我不这么认为,但也许SO的一些优秀思想能够启发我吗?

html url

2
推荐指数
1
解决办法
491
查看次数

将对象转换为十进制?(可以为十进制)

如果在属性的setter中有这个:

decimal? temp = value as decimal?;
Run Code Online (Sandbox Code Playgroud)

value ="90"

但演员表演后,临时为 ......

做这个演员的正确方法是什么?

.net c# casting nullable

31
推荐指数
2
解决办法
9万
查看次数

生成datetime(exp:09.02.2009)到字符串日期(exp:Monday)

我正在努力学习或生成任何代码来学习字符串day("26.02.2009")--->给我"星期三"

我需要在C#中使用静态日期函数.

例如:

datetime Str_day= Returnstringdate("09.02.2009");  ---->Str_day="Monday";

Returnstringdate("09.02.2009")

{
     it must return Monday!!!
}
Run Code Online (Sandbox Code Playgroud)

要么

Returnstringdate("09.02.2009 12:30:32")

{
     it must return Monday!!!
}
Run Code Online (Sandbox Code Playgroud)

.net c# datetime date

1
推荐指数
1
解决办法
463
查看次数

C#:Enum.IsDefined在组合标志上

我有这个枚举:

[Flags]
public enum ExportFormat
{
    None = 0,
    Csv = 1,
    Tsv = 2,
    Excel = 4,
    All = Excel | Csv | Tsv
}
Run Code Online (Sandbox Code Playgroud)

我试图在这个(或任何,真正的)枚举上做一个包装,它通知变化.目前它看起来像这样:

public class NotifyingEnum<T> : INotifyPropertyChanged
    where T : struct
{
    private T value;

    public event PropertyChangedEventHandler PropertyChanged;

    public NotifyingEnum()
    {
        if (!typeof (T).IsEnum)
            throw new ArgumentException("Type T must be an Enum");
    }

    public T Value
    {
        get { return value; }
        set
        {
            if (!Enum.IsDefined(typeof (T), value))
                throw new ArgumentOutOfRangeException("value", value, "Value not …
Run Code Online (Sandbox Code Playgroud)

c# enums constraints

14
推荐指数
3
解决办法
7580
查看次数

代表们如何工作(在后台)?

代表们如何在幕后工作?如何有效地使用它们?

编辑:我知道他们如何在表面上工作(它们基本上是函数指针,并允许使用其地址调用某些签名的回调方法).我需要知道的是CLR如何在内部实际实现它们.在定义委托时以及使用委托对象调用回调方法时,幕后究竟发生了什么?

c# delegates

8
推荐指数
2
解决办法
5776
查看次数

项目花费多少时间和精力来实现向后兼容?

鉴于每个软件项目只有如此多的程序员专用时间,您将花多少钱来确保产品向后兼容以前的版本?实际上有几点需要考虑:

  • 软件的使用年限会影响您的决定吗?当程序较新时,您是否会减少向后兼容的时间?
  • 决定是否仅基于已安装副本的客户端数量?
  • 您是否积极努力生成支持未来变更的代码和文件格式?
  • 在开发v1.0时,您是否尝试构建以使v2.0更容易向后兼容v1.0?(留下"保留"字段就是一个例子.)
  • 你如何决定"不,我们不再支持那个"功能?

project-management backwards-compatibility

8
推荐指数
1
解决办法
590
查看次数

如何使用库作为源部署Python应用程序而没有进一步的依赖性?

背景:我有一个小的Python应用程序,让开发人员在我们公司发布软件的生活更轻松一些.我使用py2exe为Windows构建可执行文件.应用程序以及二进制文件都会检入Subversion.人们只需从SVN检出目录即可进行分发.该程序有大约6种不同的Python库依赖项(例如ElementTree,Mako)

情况:开发人员希望破解此工具的来源,然后在不必构建二进制文件的情况下运行它.目前这意味着他们需要一个python 2.6解释器(这很好),并且还使用easy_install在本地安装了6个库.

问题

  • 这不是一个公共的,经典的开源环境:我在公司网络中,该工具永远不会离开"围墙花园",我们有很难到达外部互联网的障碍(NTLM认证代理和/或机器没有直接上网).
  • 我希望开始破解这个工具的障碍是最小的:没有人应该在正确的版本中寻找正确的依赖,他们应该尽可能少地执行.最好的先决条件是安装Python并从Subversion中检出程序.

轶事:这个过程越独立,就越容易重复.我让我的机器更换为新机器,并经历了不必要的过程,不得不对依赖项进行逆向工程,重新安装distutils,在线搜索库并让它们安装(参见上面的公司互联网限制).

python deployment layout bootstrapping

13
推荐指数
3
解决办法
6921
查看次数