我对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) 我有一个Java应用程序,其中许多线程正在快速写入StyledTextBox.在某些时候,所有线程都被终止.但是,TextBox继续接收一些文本,大概是因为调度队列有点备份了.是否有可能以某种方式强制刷新EDT,以便在线程终止时,TextBox的更新立即结束?
谢谢你,吉姆
我对GTK有点新手,对开罗来说很新.我的任务是创建一个应用程序,需要将PNG作为背景,并将包含字母和数字的多个PNG文件合成到背景PNG上,这样我最终得到一个PNG,然后可以进行转换,旋转,缩放等任何我可能觉得有用的提示,教程,代码示例?与GTK的情况一样,开罗文档似乎缺乏初学者尝试做一些比绘制形状更复杂的事情.
我有一个简单的应用程序应该使用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) 我正处于需要为两个范围(从我的Android应用程序)请求访问令牌的情况,https://www.googleapis.com/auth/userinfo.email以及https://www.googleapis.com/auth/userinfo.userinfo
我希望在单次调用时获得两个权限getAuthToken,但无法找出要传递authTokenType参数的字符串.我尝试了几个合理的组合,没有积极的结果:(
有人解决了这个问题吗?可能吗?
我正在开发一个用于大数算术的类,它现在知道如何做加法,处理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) 那么这个对我来说是一个头脑风暴.我有一个带标签的帖子系统.标签与帖子有很多很多关系.
问题是我想根据他们与当前标签匹配的标签数来选择其他帖子.
一个快速的视觉示例:
PostA: TagA, TagB
PostB: TagC
PostC: TagA
PostD: TagA, TagB
Run Code Online (Sandbox Code Playgroud)
所以,如果我输入PostA,它会给我PostD,PostC.
我真的甚至不知道从哪一个开始,我希望有人比我遇到这个问题更聪明,可以提供一些帮助.
我正在尝试写一些东西来检查整数(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)
我不知道我做错了什么,我在其他地方没有回答就问过.
将x-1计算为变量然后使用它更好吗?
我有一个for循环和内部(x-1).是否更好的创建新变量y = x-1,然后在循环中使用y,而不是在for循环中多次重新计算?我会节省很多减法.不确定这是否是一些优化?
有人可以解释为什么对一个以 0x0030 作为操作数的二进制数进行 OR 运算会产生该数字的 ASCII 字符吗?
我试图做一些字符串操作,我需要采取多行字符串并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#是否真的逃避了字符,还是只是调试器显示字符串的方式?
我正在修改一些现有的声音代码,并注意到在完成将配置数据写入硬件后,该代码不会调用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) 我正在编写代码来读写文本文件.但是当我运行我的代码时,我收到了一个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 ×4
c# ×2
c++ ×2
cairo ×2
gtk ×2
.net ×1
alsa ×1
android ×1
animation ×1
api ×1
ascii ×1
assembly ×1
binary ×1
dispatch ×1
escaping ×1
graphics ×1
hex ×1
java ×1
largenumber ×1
libasound ×1
linq-to-xml ×1
linux ×1
many-to-many ×1
math ×1
mysql ×1
oauth ×1
optimization ×1
php ×1
python ×1
python-2.7 ×1
queue ×1
regex ×1
sql ×1
string ×1
swt ×1
xml ×1