小编Hen*_*ric的帖子

检查XML节点是否具有Linq C#的属性?

如何查看节点是否确实具有某个属性?我有一个包含几个节点的XML文件,如下所示:

<Field From="OldString" To="NewString" /> 
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好.问题是这个结构即将改为某些节点如下所示:

<Field From="OldString" To="NewString" PrefixValue="OptionalAttribute" />
Run Code Online (Sandbox Code Playgroud)

现在,当PrefixValue存在时,我应该将该属性中的值添加到字符串中,这并不是很困难,但是当我尝试查看PrefixValue属性是否完全存在时,我遇到了一些问题节点.在不存在PrefixValue的情况下,节点中根本不存在属性PrefixValue.我如何检查该属性是否与Linq表达式一起存在?

c# xml linq

24
推荐指数
2
解决办法
3万
查看次数

在C#app中处理多个表单

我正在尝试修改使用多个表单的C#WinForms应用程序.启动时,将显示登录窗口.如果用户使用正确的用户名和密码组合登录,则具有三个不同选项卡的表单将显示为一种管理员视图.如果未提供密码或用户名,则会显示一个简化的GUI.它基本上由两个按钮组成,这两个按钮依次显示这两种形式,具体取决于按下哪个按钮:

按钮1:允许用户访问由多个文本框组成的表单,用户可以在其中输入将保存到数据库的信息.成功执行DB操作后,将再次显示带有两个按钮的第一个表单.

按钮2:显示一个表单,用户可以在其中输入将写入DB的代码.一旦数据库操作结束,用户将自动返回到具有两个按钮的原始表单.

两个表单还将有一个后退按钮,将用户带回第一个表单.我有很多逻辑,但我不确定如何最好地处理所涉及的所有形式.我应该在哪里实例化第一个(登录)表单?完成登录验证后,有两种可能的方法.显示选项卡式管理表单(如果用户名和密码正确)或带有两个大按钮的简化用户表单.还应该可以从管理表单注销,以便显示简化的GUI.

我希望我在这里有意义.我只需要一个很好的方法来处理它们之间的所有形式和导航.目前,实际上并不需要在它们之间传输数据,但是将来可能会出现问题,因此考虑到这一点的解决方案将非常出色.

我认为所需要的实际上是一个从一开始就处理表单显示和处理的类,但是我不太确定应该在哪里放置这个处理类的实例.

.net c# architecture winforms

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

将内存中的pdf转换为byte []

我正在C#中编写一个websercive,它将生成pdf文件并作为byte []发送回调用者.pdf文件是使用第三方组件生成的,但我正在努力进行转换.pdf只是Web服务中的内存中对象,在将生成的pdf返回给调用者之前,我找不到将生成的pdf转换为byte []的任何好方法.有什么建议吗?

编辑澄清:

我正在使用pdf内存中对象(确切地说是Aspose.pdf Pdf-object),它是使用发送到Web服务的数据在Web服务中构建的.它永远不会被web服务保存,调用者应该将byte []转换回pdf文件并将其保存在结尾.

c# web-services bytearray

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

从C#项目中的文件夹中获取许可证文件

我有一个许可证文件,我需要在运行时访问以创建pdf文件.在我创建了内存pdf后,我需要在该pdf上调用一个方法来设置许可证,如下所示:

pdf.SetLicense("pathToLicenseFileHere");
Run Code Online (Sandbox Code Playgroud)

许可证文件与创建pdf的.cs文件位于同一项目中,但位于单独的文件夹中.我不能让这个简单的事情表现得正确,这让我有点难过,因为它真的不应该那么难.:(

我尝试设置这样的路径:

string path = @"\Resources\File.lic";
Run Code Online (Sandbox Code Playgroud)

但这对我来说并不合适.

编辑:

更多信息.我应该提一下,这是一个将pdf:s作为byte []返回的Web服务.Web服务创建pdf:s,在此创建过程中,我需要设置许可证文件,以便从pdf文档中删除任何水印.pdf本身不会保存到光盘,只需在创建时访问许可文件一次.

c# asp.net file-io web-services relative-path

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