小编Ior*_*nev的帖子

使用xpath获取节点的第N个子节点

我的示例输入XML是:

<root>
 <a>
   <b>item</b>
   <b>item1</b>
   <b>item2</b>
   <b>item3</b>
   <b>item4</b>
 </a>
</root>
Run Code Online (Sandbox Code Playgroud)

我想选择一个b位置是变量值的节点.

如何使用变量的值来测试节点的位置?

xml xpath

69
推荐指数
2
解决办法
6万
查看次数

XmlNode.SelectSingleNode返回当前的元素?

我的问题是这样的.假设我有像这样的xml

<root>
  <child Name = "child1">
    <element1>Value1</element1>
    <element2>Value2</element2>
  </child>
  <child Name = "child2">
    <element1>Value1</element1>
    <element2>Value2</element2>
    <element3>Value3</element3>
  </child>
</root>
Run Code Online (Sandbox Code Playgroud)

我有一个方法获取参数XmlNode"节点".让我们说"节点"有值"child1"然后我尝试这样:

node.SelectSingleNode( "//element3" );
Run Code Online (Sandbox Code Playgroud)

问题是这段代码从"child2"返回element3.我想要的是如果没有"node"的子"element3"返回null,所以我手动添加它.

诚挚的问候,Iordand

c# xml xpath

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

Comobox事件SelectedValueChanged

我有一个简单的问题可能是有人在我之前问过它但我找不到它.让我说我有数据表,从数据库有一些数据,我想将它绑定到一个组合框我使用像这样的标准代码

 comboBox1.BeginUpdate( );
 comboBox1.ValueMember = "id";
 comboBox1.DisplayMember = "name";
 comboBox1.DataSource = dt;
 comboBox1.EndUpdate( );
Run Code Online (Sandbox Code Playgroud)

问题是在这个绑定过程中事件SelectedValueChanged被触发了.问题是当外部值改变时重新组合几次,每次我必须做这样的事情

 comboBox1.SelectedIndexChanged -= new System.EventHandler( this.comboBox1_SelectedValueChanged );
Run Code Online (Sandbox Code Playgroud)

我的问题是有一个更聪明的方法来跳过事件,当我来自数据绑定而不是来自用户输入.问题是我想要做一些如何在我的控制中继承组合框并且不是每次都在最好的问候,
Iordand

c# combobox winforms

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

存储大前缀树的最佳方式

我打算编写一个程序,代表AI玩玩棋盘游戏.我希望将每个玩过的游戏保留在前缀树中,以搜索类似的游戏.但我担心这棵树会变得太大而无法留在记忆中.那么存储它的最佳方式是什么.并且能够快速搜索它.我不认为将其写入文件是一个很好的解决方案.可能是DB的一位王者?

.net c# algorithm

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

本地报告中的自定义报告项目

我读过这篇关于自定义报告项目(CRI)的文章
http://msdn.microsoft.com/en-us/magazine/cc188686.aspx
唯一的问题是CRI只能用于报告服务而不能用于本地报告.我的问题是如何在本地报告(RDLC)中使用CRI.此外,我感兴趣的是哪种版本的报告服务是可能的,如果可能的话,
最好的问候,Iordan

report rdlc

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

使用xpath和rdlc报告

我会尽力解释这个问题.我使用MicroSoftReportViewer加载我的报告.但在加载之前我想改变一些事情.到这里一切都好.我想使用xpath但是当我使用XMLDocument加载rdlc(xml)文件时,xpath表达式不起作用.唯一有效的xpath是"\"女巫得到了根.我用记事本打开文件,看到第一个xml节点使用这些模式

xmlns="http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition" 
xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner"
Run Code Online (Sandbox Code Playgroud)

我尝试使用添加了XMLSchema的XMLReader读取文件但仍然无法使用xpath.请非常感谢获得代码的和平,以了解如何加载文件,以便xpath工作.

最诚挚的问候,Iordan

c# xml rdlc

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

使用反射保护价值免受变化?

这是我写一个小第三方库的问题.在这个图书馆里,我有一个这样的课程

public class TestClass
    {
        public int TestField { get; private set; }

        public TestClass( )
        {
            TestField = 1;
        }
    }
Run Code Online (Sandbox Code Playgroud)

然后我有这样的类的varialbe形式

 public TestClass test = new TestClass( );
Run Code Online (Sandbox Code Playgroud)

我面临的问题是像这样的usnig反射

PropertyInfo field = typeof( TestClass ).GetProperty( "TestField" );
            field.SetValue( test, 2, null );
Run Code Online (Sandbox Code Playgroud)

程序员可以改变这个类的内部价值.这将是非常糟糕的事情因为它可以崩溃孔库.我的问题是什么是保护我的代码形式这种变化的最佳方法.我知道我可以使用某种bool标志,因此只能改变一个值,但这不是很好的salution有更好的一个吗?
最诚挚的问候,
Iordan

c# reflection

4
推荐指数
2
解决办法
717
查看次数

Web api方法调用另一个流内容web api方法?

这是我的情况我有两个web api服务.第一个有一个处理某些数据的方法,当部分数据准备就绪时,它会将它推送到流中.

public HttpResponseMessage Get( )
        {
            var response = Request.CreateResponse( );
            response.Content = new PushStreamContent( WriteToStream );
            return response;
        }

        public async void WriteToStream( Stream outputStream, HttpContent content, TransportContext context )
        {
            .......
        }
Run Code Online (Sandbox Code Playgroud)

第二个web api在控制器中有一个调用第一个web api的方法.它必须从流中读取部分,然后将其放入自己的流中:

public HttpResponseMessage Get( )
        {
            Stream stream = null;

            using( HttpClient httpClient = new HttpClient( ) )
            {
                httpClient.Timeout = TimeSpan.FromMilliseconds( Timeout.Infinite );
                HttpRequestMessage request = new HttpRequestMessage( HttpMethod.Get, "http://localhost/fistWebApi/" );

                var response = httpClient.SendAsync( request, HttpCompletionOption.ResponseContentRead );

                var content = response.Result.Content.ReadAsStreamAsync( …
Run Code Online (Sandbox Code Playgroud)

c# asp.net-web-api

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

获取插入RowGuid的值?


我有一个简单的表"MyTable"与单列"id",其类型是uniqueidetifier,rowguid设置为true.我插入这样的新值

INSERT INTO MyTable
DEFAULT VALUES
Run Code Online (Sandbox Code Playgroud)

如何通过服务器guid插入?
最诚挚的问候,
Iordan

t-sql database sql-server

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

如何将一个对象的成员绑定到datagrid

这是我的问题.我有一个类游戏,我想将一些成员绑定到datagrid,而不是整个对象.有什么更好的方法呢?创建另一个对象以保存信息,或创建数据表?

    public class Game
    {
        public string Name {get;set; }
        public string Description {get;set;}
        public string FullPath {get;set;}

    }

    List<Game> Games = new Games { game1, game2, game3 };

dataGrid1.ItemsSource = Game;  // I don't want to do this it will bind entire object.
Run Code Online (Sandbox Code Playgroud)

c# wpf binding datagrid

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