我正在寻找这个问题的Javascript解决方案:
我有一个XML文档,它通过典型的AJAX方法加载:
var xml = http.responseXML;
请考虑以下示例xml片段:
<main>
<primary>
<enabled>true</enabled>
</primary>
<secondary>
<enabled>true</enabled>
</secondary>
</main>
Run Code Online (Sandbox Code Playgroud)
我想通过指定路径获取节点的值,如下所示:
var second_enabled = getNodeValueByPath('main/secondary/enabled', xml);
Run Code Online (Sandbox Code Playgroud)
做这样的事情我找不到任何简洁的方法.我似乎被迫在使用之后迭代节点集合getElementsByTagName等.
我将如何构造该方法,getNodeValueByPath或者在Javascript中是否有一些允许这样做的构造?
我不熟悉Javascript.
编辑:这是一个示例,显示我尝试使用XPath及其失败的方式:
XML:
<?xml version="1.0" ?>
<main xmlns="example.com">
<primary>
<enabled>true</enabled>
</primary>
<secondary>
<enabled>false</enabled>
</secondary>
</main>
Run Code Online (Sandbox Code Playgroud)
JavaScript :(这些只是相关的功能)
function useHttpResponse()
{
if (http.readyState == 4)
{
if(http.status == 200)
{
var xml = http.responseXML;
var evalue = getXMLValueByPath('/main/secondary/enabled', xml);
alert(evalue);
}
}
}
function getXMLValueByPath(nodepath, xml)
{
var result = xml.evaluate(nodepath, xml, …Run Code Online (Sandbox Code Playgroud) 使用SSL的理由是防止一些经历过窥探流量的恶意用户能够读取您的流量.因此,虽然使用不安全的无线(非WPA2)网络在登录您的银行帐户或提供您的信用卡号时使用SSL可能有意义,但我发现很难看到它在更常见的商业案例中的必要性.
为什么甚至打扰SSL?(当您的客户不在无担保的无线网络上时)
有人可以窥探你的特定HTTP连接和数据的唯一方法是,如果他们有管理员访问你的路由器(然后只有有一些工具来监控/复制流量),在你的机器上安装了一些工具(一个关键的记录器当然无论如何都会通过SSL)或他们在ISP监控你(在大多数司法管辖区都需要手令).
更新警告某些司法管辖区并不像您想象的那样自由,尤其是第一和第二世界,例如在英国,政府可能很快就不需要手令:http://en.wikipedia.org/wiki/Communications_Data_Bill_2008这可能需要能够在历史上阅读网站(即解密SSL)和美国的"爱国者法案" http://en.wikipedia.org/wiki/US_Patriot_Act#Title_II:_Surveillance_procedures
此外:
更新:我实际上正在使用SSL,但我认为无论如何都要提出问题是值得的.当然我认为有时间SSL不是必需的.也许这可以变成一个关于SSL优缺点的社区维基?如果是这样的话?
在下面的答案中似乎经常出现神话:"你和服务器之间的任何人都可以偷听你"......
被动ARP中毒是一种监听方式,但必须在内部完成,并且应该在名称冲突等情况下被接收并且通常默认网关将是静态的,因此将是v.难以导致默认网关将在您之前打开.
在Windows中是否有任何Linux"echo -e"等效,所以我可以使用"echo -e\xnnn"打印出ASCII码为十六进制值nnn的字符?
我需要对数据库执行一个非常简单的操作 - 按键将一些值放入表中,如果行存在 - 更新它,如果不存在 - 创建一个新的.问题是我需要以可移植的方式进行 - 即相同的查询必须适用于MySQL,SQL Server,Oracle,最好也适用于DB2,Postgres等.所以虽然我可以使用REPLACE或INSERT ... ON DUPLICATE KEY UPDATE在MySQL中使用,但我不确定这些将支持这种语法.我真的想避免使用数据库类型,因为这是不可维护的.我也不想在更新之前实际查询该值,因为我怀疑它会显着减慢该过程(我需要多次执行).
到目前为止,我想出的最好的就是:
UPDATE table SET data='data' WHERE key='key';
INSERT INTO table(key, data) VALUES ('key', 'data');
Run Code Online (Sandbox Code Playgroud)
其中一个总会成功,另一个会失败,但我不在乎其中一个查询失败.虽然看起来不那么优雅.有什么建议如何让它变得更好?
请您解释一下,如何在JavaScript中编写真正基本的流控制?谢谢.
flow([
function(callback) { /* do something */ callback(); /* run next function */ },
function(callback) { /* do something */ callback(); /* run next function */ },
function(callback) { /* do something */ callback(); /* run next function */ },
function(callback) { /* do something */ callback(); }
], function() {
alert("Done.");
});
Run Code Online (Sandbox Code Playgroud) TEntity Single(Expression<Func<TEntity, bool>> predicate);
Run Code Online (Sandbox Code Playgroud)
请解释参数.
我最近为F#项目编写了以下组合和排列函数,但我很清楚它们远未优化.
/// Rotates a list by one place forward.
let rotate lst =
List.tail lst @ [List.head lst]
/// Gets all rotations of a list.
let getRotations lst =
let rec getAll lst i = if i = 0 then [] else lst :: (getAll (rotate lst) (i - 1))
getAll lst (List.length lst)
/// Gets all permutations (without repetition) of specified length from a list.
let rec getPerms n lst =
match n, lst with
| 0, _ -> …Run Code Online (Sandbox Code Playgroud) 对于listView,当您注册OnItemClickListener时,您指定的方法如下所示:
public abstract void onItemClick(AdapterView parent,View view,int position,long id)
id对应于用户单击的行.我的问题是为什么它很长而不是int?你什么时候用它?当我使用它时,我一直把它转换为int,所以它让我觉得可能我错了.
我正在使用opengl和cocos2d端口创建一个Android游戏(http://code.google.com/p/cocos2d-android-1).我的目标是广泛的设备,并希望确保它表现良好.我只测试一个nexus,我希望得到一些有较慢设备经验的人的意见.
目前游戏使用两个1024x1024纹理以及两个256x256纹理.这是否在大多数设备的限制范围内?在这些情况下,任何人都有任何经验法则或图形内存限制经验吗?如果超出gfx内存,它会翻页到正常内存吗?
android ×2
javascript ×2
batch-file ×1
c# ×1
combinations ×1
database ×1
echo ×1
f# ×1
https ×1
java ×1
listener ×1
listview ×1
mysql ×1
opengl-es ×1
oracle ×1
permutation ×1
security ×1
sql ×1
sql-server ×1
ssl ×1
windows ×1
winforms ×1
xml ×1
xpath ×1