问题列表 - 第41624页

字符串转义为XML-Attribute

我看了一下XML转义的字符串,发现它非常有用.

我想做类似的事情:转义要在XML-Attribute中使用的字符串.

该字符串可能包含\ r \n.XmlWriter类产生类似\ r \n - >

我目前使用的解决方案包括XmlWriter和StringBuilder,而且非常难看.

任何提示?

编辑1:
抱歉让LarsH失望,买我的第一个方法是

public static string XmlEscapeAttribute(string unescaped)
{
    XmlDocument doc = new XmlDocument();
    XmlAttribute attr= doc.CreateAttribute("attr");
    attr.InnerText = unescaped;
    return attr.InnerXml;
}
Run Code Online (Sandbox Code Playgroud)

这是行不通的.XmlEscapeAttribute("Foo\r\nBar")会导致"Foo\r\nBar"

我使用.NET Reflector来了解XmlTextWriter如何转义属性.它使用内部的XmlTextEncoder类...

我的方法我目前正在使用这样的方法:

public static string XmlEscapeAttribute(string unescaped)
{
    if (String.IsNullOrEmpty(unescaped)) return unescaped;

    XmlWriterSettings settings = new XmlWriterSettings();
    settings.OmitXmlDeclaration = true;
    StringBuilder sb = new StringBuilder();
    XmlWriter writer = XmlWriter.Create(sb, settings);

    writer.WriteStartElement("a");
    writer.WriteAttributeString("a", unescaped);
    writer.WriteEndElement();
    writer.Flush();
    sb.Length -= "\" />".Length;
    sb.Remove(0, …
Run Code Online (Sandbox Code Playgroud)

c# xml stringbuilder xmlwriter escaping

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

派生对象上的C++虚函数调用是否通过vtable?

在下面的代码中,它通过指向派生对象的指针调用虚函数foo.这个电话会通过vtable还是B::foo直接打电话?

如果它是通过vtable进行的,那么B::foo直接调用它的C++惯用方法是什么?我知道在这种情况下我总是指着一个B.

Class A
{
    public:
        virtual void foo() {}
};

class B : public A
{
    public:
        virtual void foo() {}
};


int main()
{
    B* b = new B();
    b->foo();
}
Run Code Online (Sandbox Code Playgroud)

c++ virtual

7
推荐指数
3
解决办法
2402
查看次数

保留使用UIGraphicsGetImageFromCurrentImageContext创建的UIImage的所有权

我正在使用此代码在不同时间获取窗口的屏幕截图,并将创建的UIImage放入一个数组中,该数组传递给另一个UIViewController,以便它们可以全部显示在网格中.我尝试释放UIImage并且内存使用情况永远不会下降......我怎么能在这里使用图像,并保留所有权,这样我就可以在显示后释放内存

UIGraphicsBeginImageContext(self.window.bounds.size);
[self.window.layer renderInContext:UIGraphicsGetCurrentContext()];
UIImage *image = UIGraphicsGetImageFromCurrentImageContext();
UIGraphicsEndImageContext();
[imagesArray addObject:image];
[image release];

iphone screenshot memory-management uiimage

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

我们可以在.NET控制台应用程序中拥有多个App.Config文件吗?

我有一个具有App.Confile文件的控制台应用程序.现在,此处维护特定于环境的参数.

现在我想有多个app.config文件(比如app.dev.config,app.test.config和app.prod.config)我们如何拥有多个Web.Config文件.

在Web应用程序的情况下,我们可以处理这个,ConfigurationManager将选择相应的Web.Config文件.

如果是控制台应用程序,我不确定.如果是,我们如何拥有多个app.config文件?

感谢您的帮助.

谢谢

.net c# app-config web-config c#-4.0

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

git diff忽略文件中的模式

我对git diff有问题。首先让我介绍一下历史。

刚从客户那里得到一个我不受欢迎的项目。问题在于它们的scm中有2个分支。这两个分支已经很久没有合并了,现在必须合并它们。大多数更改都是微不足道的,因此通过git合并仅需要大约30分钟。

但是,我的客户不相信合并过程可以自动化。因此,他们希望通过具有一个差异列表来查看合并,该差异列表包含正在使用的所有4个版本的代码之间的差异(基本和版本a,基本和版本b,a和b等)。

这也很琐碎,但是问题来了。由于分支之间的更改很多,因此差异列表非常长(每个差异列表约50Mb),因此这些列表无用。现在,我的客户希望将更改分组。

这些“分组差异”中有4个主要组。我想使git diff能够忽略该时间上的各个组。

g1:很多斜线改变了方向。因此,我想git解释/和\类似。我发现了如何使git忽略整行(如果它包含斜杠),但这不是我想要的,因为路径(斜杠来自何处)可能已更改。

g2:这个问题在结构上与上面非常相似,只是由于我涉及了更多的符号。日志记录中有许多格式已更改。主要与丹麦字母有关,即“æ”已更改为“æ”,“ø”已更改为“ø” 等等

g3:很多评论已更改。客户担心某些“ * /”可能没有合并。我看不到如何验证这一点。你们有专家有想法吗?

g4:以上未提及的所有内容。这被认为是真正的变化。

git diff design-patterns ignore

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

C# 在 Windows 窗体应用程序中撤消

我想知道在 C# 中开发撤消的简单方法是什么

我有一个 Windows 窗体应用程序,在窗口中我有一个带有很多文本框、选择框、复选框的窗体...

用户填写并单击计算按钮后,程序将根据所有输入进行计算,并将一个值返回到屏幕。

我寻找一种简单的方法来在每次计算后保存状态,并让用户能够返回一个或多个步骤。

谢谢

undo-redo winforms c#-4.0

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

删除Apache2中的http标头

在Apache2.2.9托管网站上,我想删除下面的标题.

日期:2010年12月16日星期四17:49:45 GMT服务器Apache Keep-Alive超时= 15,最大= 92连接保持活动

让我先讨论一下对于它是否正确/合法/好用的讨论服务器和日期:我已经阅读了标准,我仍然想要这样做.保存的字节数很多(平均响应大小约为200B).

在我的site.conf中(最后从apache2.conf加载)我试过这个没有成功:

    Header unset Date
    Header unset Server
    Header unset Connection 
    Header unset Keep-Alive
Run Code Online (Sandbox Code Playgroud)

其他Header unset指令确实有效(因此加载了mod_headers).

apache header unset

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

使用C#加密和解密密码

我想创建一个可以使用C#加密和解密我的密码的应用程序.

我的想法很简单.我将使用Substring从输入的字符串中提取每个字母,我将操纵ASCI代码并将其转换为另一个字母.我将使用相同的方法来加密它们.

有人解密我生成的密码有多难?

我正在寻找建议或示例代码.

c# encryption passwords visual-studio

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

挂毯布局和组件库

我有几个不同的项目,它们基本上使用相同的 javascript/css 和布局模板。我想将所有这些移动到我的tapestry-common-lib 项目中并从那里引用它。

我的tapestry-common-lib 中有其他常见组件,但似乎无法使布局正常工作。

在我的tapestry-common-lib 项目中,我有com.company.tapestrylib.components 一个CommonLayout.java 文件和一个CommonLayout.tml 文件 com/company/tapestrylib/components

我试图在我的 Index.tml 中引用另一个项目的 CommonLayout ,如下所示:

<t:commonlayout  xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd">
</t:commonlayout>
Run Code Online (Sandbox Code Playgroud)

但是,每当我访问该页面时,我都会得到一个

Unable to resolve 'commonlayout' to a component class name.
Run Code Online (Sandbox Code Playgroud)

我可以这样做吗?我还可以将所有常见的 css 和 javascript 放入我的tapestry-common-lib jar 中,并使用例如:

<script type="text/javascript" src="${asset:context:/js/jquery-1.4.2.js}"></script>
Run Code Online (Sandbox Code Playgroud)

我一直在环顾四周,发现了很多关于创建自定义组件和组件库的文章,但没有一篇文章像我试图做的那样重用布局。

更新:

我目前正在使用我的组件库中的其他抽象组件。这些存储在 [root].tapestrylib.base 中。

我正在尝试将我的通用布局(Layout.java 和 Layout.tml)存储在 [root].tapestrylib.components 中。尝试从我的其他项目中引用此布局时,我得到一个

Unable to resolve 'layout' to a component class name.
Run Code Online (Sandbox Code Playgroud)

我正在尝试像这样使用它:

<html t:type="tapestry-lib/layout" xmlns:t="http://tapestry.apache.org/schema/tapestry_5_0_0.xsd" xmlns:p="tapestry:parameter">
</html>
Run Code Online (Sandbox Code Playgroud)

这是我得到的实际异常的一部分:

11:28:01 ERROR RequestExceptionHandler - Processing of request failed with uncaught exception: Unable …
Run Code Online (Sandbox Code Playgroud)

java tapestry

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

Android - 在网络中查找服务器

我目前正在编写一个客户端 - 服务器应用程序,我问自己是否有更好的方法在本地网络中找到服务器,然后通过所有可用的IP地址,看看是否提供了正确的答案?

networking android network-programming

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