小编Chi*_*era的帖子

需要有关在.NET 4中解析XML的信息

我对XML很新,并使用C#解析它.我试图解析一个如下所示的XML文档:

<Msg Version="1.0">
  <ProgList>
    <update sequence="41248" amount="3327" Lvl="1" Grp="1" />
    <update sequence="41216" amount="5326" Lvl="2" Grp="1" />
    <update sequence="41252" amount="7326" Lvl="3" Grp="1" />
  </ProgList>
</Msg>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用XDocument,似乎无法解析具有属性的三个更新.

但是,如果我在此表单中创建包含相同数据的XML文档:

<Msg Version="1.0">
    <ProgList>
        <Level>
            <seq>41248</seq>
            <amount>3327</amount>
            <Lvl>1</Lvl>
            <Grp>1</Grp>
        </Level>
        <Level>
            <seq>41216</seq>
            <amount>5326</amount>
            <Lvl>2</Lvl>
            <Grp>1</Grp>
        </Level>
        <Level>
            <seq>41252</seq>
            <amount>7326</amount>
            <Lvl>3</Lvl>
            <Grp>1</Grp>
        </Level>
    </ProgList>
</Msg>
Run Code Online (Sandbox Code Playgroud)

我可以使用以下代码解析并迭代Level数据:

String xmlText = String.Empty;
//String xml = String.Empty;
int begin = Data.IndexOf("<?xml");
int end = Data.IndexOf("</Msg") + 6;

try
{
    //xml = Data.Substring(begin, end - begin);
}
catch { }; …
Run Code Online (Sandbox Code Playgroud)

.net c# xml linq-to-xml

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

需要刷新Java EDT(事件调度队列)

我有一个Java应用程序,其中许多线程正在快速写入StyledTextBox.在某些时候,所有线程都被终止.但是,TextBox继续接收一些文本,大概是因为调度队列有点备份了.是否有可能以某种方式强制刷新EDT,以便在线程终止时,TextBox的更新立即结束?

谢谢你,吉姆

java queue swt dispatch event-dispatch-thread

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

如何使用GTK/Cairo将多个PNG组合成单个PNG

我对GTK有点新手,对开罗来说很新.我的任务是创建一个应用程序,需要将PNG作为背景,并将包含字母和数字的多个PNG文件合成到背景PNG上,这样我最终得到一个PNG,然后可以进行转换,旋转,缩放等任何我可能觉得有用的提示,教程,代码示例?与GTK的情况一样,开罗文档似乎缺乏初学者尝试做一些比绘制形状更复杂的事情.

c gtk graphics animation cairo

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

如何使用GTK +/Cairo旋转图像

我有一个简单的应用程序应该使用GTK+和每隔x个毫秒旋转一个装饰轮Cairo.我在下面有一些cairo_rotate()来自计时器的代码.但是,图像不会改变.我是否必须使图像无效以使曝光事件触发?我对开罗这么新,一个简单的例子演示如何使用Cairoin 旋转图像GTK+将非常感激.

#include <cairo.h>
#include <gtk/gtk.h>

cairo_surface_t *image;
cairo_t *cr;


gboolean rotate_cb( void )
{

    cairo_rotate (cr, 1);
    //cairo_paint(cr);
    printf("rotating\n");

    return( TRUE );
}

static gboolean
on_expose_event(GtkWidget *widget,
    GdkEventExpose *event,
    gpointer data)
{
  cr = gdk_cairo_create (widget->window);

  cairo_set_source_surface(cr, image, 0, 0);
  cairo_paint(cr);
  printf("Paint\n");

  //cairo_destroy(cr);

  return FALSE;
}


int main(int argc, char *argv[])
{
  GtkWidget *window;

  image = cairo_image_surface_create_from_png("wheel.png");

  gtk_init(&argc, &argv);

  window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

  g_signal_connect(window, "expose-event",
      G_CALLBACK (on_expose_event), NULL);
  g_signal_connect(window, "destroy", …
Run Code Online (Sandbox Code Playgroud)

c gtk cairo

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

通过Android中的AccountManager请求多个oauth2范围

我正处于需要为两个范围(从我的Android应用程序)请求访问令牌的情况,https://www.googleapis.com/auth/userinfo.email以及https://www.googleapis.com/auth/userinfo.userinfo

我希望在单次调用时获得两个权限getAuthToken,但无法找出要传递authTokenType参数的字符串.我尝试了几个合理的组合,没有积极的结果:(

有人解决了这个问题吗?可能吗?

authentication api android oauth

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

C++大数字算术

我正在开发一个用于大数算术的类,它现在知道如何做加法,处理cin和cout.

然而,它具有非常有限的基本减法功能,并且不知道如何处理否定.但这很容易解决.

我的问题是这个,如何做乘法.

我将详细介绍它如何处理cin和cout.

对于cin,它会将整数保存到值[500],例如,50将保存为值[498]和值[499].但不是值[0]和值[1]

对于cout,它将扫描从值[0]到值[499]的第一个非零值,然后从该非零值输出到结尾.此外,如果它没有找到非零值,它将输出0.

这是我的代码:

#include <iostream>

using namespace std;

class largeNumber {
public:
    int value[500];
    largeNumber()
    {
        for ( int i = 0 ; i < 500 ; ++ i )
        {
            value[i] = 0;
        }
    }
    //below are arithmetic operations
    largeNumber operator+(const largeNumber &ln) const
    {
        largeNumber result;
        for ( int i = 0 ; i < 500 ; ++ i )
        {
            result.value[i] = value[i] + ln.value[i];
        }
        for ( int i = 499 ; …
Run Code Online (Sandbox Code Playgroud)

c++ math largenumber

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

MySQL有很多匹配的地方?

那么这个对我来说是一个头脑风暴.我有一个带标签的帖子系统.标签与帖子有很多很多关系.

问题是我想根据他们与当前标签匹配的标签数来选择其他帖子.

一个快速的视觉示例:

PostA: TagA, TagB
PostB: TagC
PostC: TagA
PostD: TagA, TagB
Run Code Online (Sandbox Code Playgroud)

所以,如果我输入PostA,它会给我PostD,PostC.

我真的甚至不知道从哪一个开始,我希望有人比我遇到这个问题更聪明,可以提供一些帮助.

php mysql sql many-to-many

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

'x'是此函数的无效关键字参数

我正在尝试写一些东西来检查整数(z)是否在x和y的范围内,x是最小数,y是最大数.我这样做是通过检查z是否小于最小数量或大于最大数量.如果其中任何一个为真,则返回无效,否则确认它.检查值的最大值,最小值和数量由raw_input确定.这是代码:

int(x = raw_input('x:\n')) #max number
int(y = raw_input('y:\n')) #min number
int(z = raw_input('z:\n')) #number to check.
if z < y:
    print 'invalid.'
elif z > x :
    print 'invalid.'
Run Code Online (Sandbox Code Playgroud)

我可以输入x值,但是当我尝试输入y值时,我收到此错误:

Traceback (most recent call last):
  File "C:/Python27/random/bark", line 2, in <module>
    int(y = raw_input('y:\n')) #min number
TypeError: 'y' is an invalid keyword argument for this function
Run Code Online (Sandbox Code Playgroud)

我不知道我做错了什么,我在其他地方没有回答就问过.

python python-2.7

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

将x-1计算为变量然后使用它更好吗?

将x-1计算为变量然后使用它更好吗?

我有一个for循环和内部(x-1).是否更好的创建新变量y = x-1,然后在循环中使用y,而不是在for循环中多次重新计算?我会节省很多减法.不确定这是否是一些优化?

c++ optimization

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

在汇编中将数字转换为 ASCII

有人可以解释为什么对一个以 0x0030 作为操作数的二进制数进行 OR 运算会产生该数字的 ASCII 字符吗?

binary assembly hex ascii bit-manipulation

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

C#Regex.Split强制结果不转义字符

我试图做一些字符串操作,我需要采取多行字符串并List<String>通过拆分创建一个,\r\n以便我最终得到字符串中找到的行列表.

然而,在完成Regex.Split后,我最终得到的每一行都有一个
"转义\.

例如,输入字符串的片段是:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<g2s:g2sMessage xmlns:g2s="http://www.gamingstandards.com/g2s/schemas/v1.0.3">
   <g2s:g2sBody g2s:dateTimeSent="2012-11-06T09:12:38.006-08:00" g2s:egmId="RBG_1234"
                g2s:hostId="1">
      <g2s:communications g2s:commandId="37102" g2s:dateTime="2012-11-06T09:12:38.004-08:00"
                          g2s:deviceId="1"
                          g2s:errorCode="G2S_none"
Run Code Online (Sandbox Code Playgroud)

当我执行以下操作将此字符串拆分为List<String>使用时:

List<string> lines = new List<string>(Regex.Split(message, "\r\n"));
Run Code Online (Sandbox Code Playgroud)

结果是:

<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?>
<g2s:g2sMessage xmlns:g2s=\"http://www.gamingstandards.com/g2s/schemas/v1.0.3\">
   <g2s:g2sBody g2s:dateTimeSent=\"2012-11-06T09:12:38.006-08:00\" g2s:egmId=\"RBG_1234\"
            g2s:hostId=\"1\">
      <g2s:communications g2s:commandId=\"37102\" g2s:dateTime=\"2012-11-06T09:12:38.004-08:00\"
            g2s:deviceId=\"1\"
            g2s:errorCode=\"G2S_none\"
Run Code Online (Sandbox Code Playgroud)

如何在不使用已"转义的字符串的情况下执行此操作?
C#是否真的逃避了字符,还是只是调试器显示字符串的方式?

c# regex string escaping

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

ALSA:snd_pcm_hw_params_free()导致内存错误

我正在修改一些现有的声音代码,并注意到在完成将配置数据写入硬件后,该代码不会调用snd_pcm_hw_params_free()。由于遗留原因,该应用程序会针对其播放的每种声音打开和关闭声音硬件。这一定会导致内存泄漏,因为snd_pcm_hw_params_t *永远不会释放它。所以我添加了对`snd_pcm_hw_params_free()的调用,现在得到以下错误:

[root@n00200C709F3D namb2]# ./freetest 
*** glibc detected *** ./freetest: free(): invalid pointer: 0xbfe39000 ***
======= Backtrace: =========
/lib/libc.so.6[0xb75dc595]
/lib/libc.so.6(cfree+0x59)[0xb75dc9d9]
/emsnamb/namb2/lib/libasound.so.2(snd_pcm_hw_params_free+0x1d)[0xb7707bad]
./freetest[0x804876b]
/lib/libc.so.6(__libc_start_main+0xdc)[0xb7588e9c]
./freetest(memset+0x31)[0x80485b1]
======= Memory map: ========
08048000-08049000 r-xp 00000000 00:0e 5413865    /var/tmp/namb2/freetest
08049000-0804a000 rwxp 00000000 00:0e 5413865    /var/tmp/namb2/freetest
0804a000-08094000 rwxp 00000000 00:00 0          [heap]
b74f1000-b74fc000 r-xp 00000000 fe:00 48544      /lib/libgcc_s-4.1.2-20080825.so.1
b74fc000-b74fd000 rwxp 0000a000 fe:00 48544      /lib/libgcc_s-4.1.2-20080825.so.1
b7506000-b7516000 rwxs 00000000 00:04 149192707  /SYSV0056a4d6 (deleted)
b7516000-b7526000 rwxs 00000000 00:0d 1789       /dev/snd/pcmC0D0p
b7526000-b7527000 rwxp 00000000 00:00 0 …
Run Code Online (Sandbox Code Playgroud)

c linux alsa libasound

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

写入和读取文件时出现SIGSEV错误

我正在编写代码来读写文本文件.但是当我运行我的代码时,我收到了一个SIGSEGV运行时错误.我需要帮助搞清楚代码有什么问题.

#include <stdio.h>
#include <stdlib.h>
int main(){
    /*Variable for writing to file */
    char *name[] = {"Raju", "Nayan", "Hanif"};
    char *id[] = {"100", "101", "102"};
    float cgpa[] = {3.50, 5.00, 4.00};
    /*Variable for reading from file*/
    char *getname, *getid;
    float getcgpa;
    int i;
    FILE *fp;
    fp = fopen("f:\\raju.nog", "w"); /*Create new file */
    for(i=0; i<5; i++){
        fprintf(fp, "%-10s%-10s%-1.2f\n", name[i], id[i], cgpa[i]); /*write to file*/
    }
    fclose(fp);
    /*read from file and print to screen*/
    fp = fopen("f:\\raju.nog", "r");
    while(fscanf(fp, "%s %s …
Run Code Online (Sandbox Code Playgroud)

c runtime-error

0
推荐指数
2
解决办法
398
查看次数