我有一个大的xml文件,其中包含许多自闭标签.如何使用XSLT删除所有这些.
例如.
<?xml version="1.0" encoding="utf-8" ?>
<Persons>
<Person>
<Name>user1</Name>
<Tel />
<Mobile>123</Mobile>
</Person>
<Person>
<Name>user2</Name>
<Tel>456</Tel>
<Mobile />
</Person>
<Person>
<Name />
<Tel>123</Tel>
<Mobile />
</Person>
<Person>
<Name>user4</Name>
<Tel />
<Mobile />
</Person>
</Persons>
Run Code Online (Sandbox Code Playgroud)
我期待结果:
<?xml version="1.0" encoding="utf-8" ?>
<Persons>
<Person>
<Name>user1</Name>
<Mobile>123</Mobile>
</Person>
<Person>
<Name>user2</Name>
<Tel>456</Tel>
</Person>
<Person>
<Tel>123</Tel>
</Person>
<Person>
<Name>user4</Name>
</Person>
</Persons>
Run Code Online (Sandbox Code Playgroud)
注意:有数千种不同的元素,如何以编程方式删除所有自闭标签.另一个问题是如何删除空元素等<name></name> .
谁可以帮我这个事?非常感谢.
我的模型看起来像这样:
class Staff(models.Model):
StaffNumber = models.CharField(max_length=20,primary_key=True)
NameFirst = models.CharField(max_length=30,blank=True,null=True)
NameLast = models.CharField(max_length=30)
SchoolID = models.CharField(max_length=10,blank=True,null=True)
AutocompleteName = models.CharField(max_length=100, blank=True,null=True)
Run Code Online (Sandbox Code Playgroud)
我正在使用MySQL,以防万一.
从manage.py shell:
root@django:/var/www/django-sites/apps# python manage.py shell
Python 2.5.2 (r252:60911, Jan 20 2010, 21:48:48)
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
(InteractiveConsole)
>>> from disciplineform.models import Staff
>>> s = Staff.objects.all()
>>> len(s)
406
Run Code Online (Sandbox Code Playgroud)
所以我知道那里有406个"Staff"对象.我也可以在数据库中看到它们.我查看其中一个值:
>>> s[0].NameFirst
u'"ANDREA"'
Run Code Online (Sandbox Code Playgroud)
这也符合我在数据库中看到的内容.现在我试着'得到'这个对象.
>>> a = Staff.objects.get(NameFirst='ANDREA')
Traceback (most recent call last):
File "<console>", line 1, in …Run Code Online (Sandbox Code Playgroud) 我正在使用像这样设置的ListView:
<ListView android:id="@android:id/list" android:layout_width="fill_parent"
android:layout_height="fill_parent" android:longClickable="false"
android:choiceMode="singleChoice">
</ListView>
Run Code Online (Sandbox Code Playgroud)
在我的代码中,我将一个OnItemSelectedListener添加到ListView,如下所示:
getListView().setAdapter(adapter);
getListView().setOnItemSelectedListener(this);
Run Code Online (Sandbox Code Playgroud)
我的Activity实现了这样的监听器:
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
Log.d("Tag", "ListItemSelected: Parent: " + parent.toString() + " View: "
+ view.toString() + " Position: " + " Id: " + id);
}
Run Code Online (Sandbox Code Playgroud)
我的希望是,当我点击列表中的某些内容时,我会看到此调试输出.但调试输出永远不会显示在LogCat中.
我在控制台应用程序中部署了WCF服务,并启用了BasicHTTPBinding和SSL.还设置了以下属性:
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
Run Code Online (Sandbox Code Playgroud)
我还设置了限制行为
<serviceThrottling maxConcurrentCalls="2147483647" maxConcurrentSessions="2147483647"
maxConcurrentInstances="2147483647" />
Run Code Online (Sandbox Code Playgroud)
另一方面,我创建了一个测试客户端(用于负载测试),它同时启动多个客户端(多个线程)并在服务器上执行事务.一切似乎都很好,但在服务器上CPU利用率没有增加所以我添加了一些日志记录来查看服务器的并发调用数,发现它从未超过6.
我已经查看了两次以上的性能计数器记录代码,对我来说似乎很好.
所以我想问一下这种情况下的问题在哪里?我还没有指定任何种类的ContextMode或ConcurrencyMode.
这个帖子之后,我注意到,每当我开始测试客户端的另一个Intance我的并发服务器调用计数器增加至2一样,如果我运行仅1个实例的最大并发RCVD呼叫将被2,如果有两个实例相同的值变为4等等.一次处理的WCF呼叫数量是否有限制?
********3月17日添加********
今天我在运行服务器的同一台机器上运行了一个测试客户端(有50个并发用户)的另一个测试.这次我得到了我想要显示的确切结果(即服务器的最大并发呼叫数Rcvd = 50).
但我需要在其他机器上也这样做.有人可以帮我这个吗?
最近我在另一个开发人员接管的应用程序中遇到了一个错误.我调试了原因,一个多小时后我意识到,问题不是产生异常的代码,而是在返回错误数据之前执行的一些代码.如果我潜入这里,我遇到了以下情况:
try {
...
} catch (XYException e){}
Run Code Online (Sandbox Code Playgroud)
如果Exception会被传播(我做了一个更改),我会在几分钟内找到错误的原因,因为stacktrace已经指出了问题所在.那么如何说服其他开发人员永远不会以这种方式捕获和忽略异常呢?
我需要一个调用webmethod的控制台应用程序.
它必须是异步的,没有超时(我们不知道这个方法需要花多少时间来处理任务.
这是好方法:
[WebMethod]
[SoapDocumentMethod(OneWay = true)]
Run Code Online (Sandbox Code Playgroud)
??
我有一个问题让Mercurial认出我的编辑器.我有一个文件,c:\windows\notepad.exe并在命令提示符下键入"notepad"工作.我可以通过使用" -m"参数来提交提交标题.但是一个简单的" hg commit"会带来错误.
致电" hg --traceback commit"会出现:
Traceback (most recent call last):
File "mercurial\dispatch.pyc", line 47, in _runcatch
File "mercurial\dispatch.pyc", line 466, in _dispatch
File "mercurial\dispatch.pyc", line 336, in runcommand
File "mercurial\dispatch.pyc", line 517, in _runcommand
File "mercurial\dispatch.pyc", line 471, in checkargs
File "mercurial\dispatch.pyc", line 465, in <lambda>
File "mercurial\util.pyc", line 401, in check
File "mercurial\commands.pyc", line 708, in commit
File "mercurial\cmdutil.pyc", line 1150, in commit
File "mercurial\commands.pyc", line 706, in commitfunc
File "mercurial\localrepo.pyc", …Run Code Online (Sandbox Code Playgroud) 我每天都:
这里唯一的共同点是互联网连接所有这些主机:工作站和服务器.我可以在我的工作站上保持所有配置文件同步,并且可以在所有配置文件上运行X服务器.运行emacs的正确方法是什么?我不想牺牲任何功能.
在我的理想世界中,我可以在远程主机上键入"emacs foo.txt",并通过X转发发生一些魔术,以在我的工作站现有的emacs会话中显示该文件.
无解决方案
如果您对我的问题没有肯定的答案,请不要只是猜测.谢谢.
我正在使用DGV显示带有文本标题的图像列表作为选项列表.它们必须始终是列表中的唯一选择.我无法找到一种方法来阻止用户通过按住Control键单击所选行来清除选择.
我失踪的设计师有没有可以做到这一点的财产?
如果我必须覆盖鼠标单击事件中的行为,还有其他方法可以清除当前需要覆盖的选择吗?
我能采取的第三种方法是否比我的第二种想法更简单?