小编Esa*_*Esa的帖子

如何在PHP中迭代DOM元素?

我有一个XML文件加载到DOM文档中,我希望迭代所有'foo'标记,从它下面的每个标记获取值.我知道我可以通过

$element = $dom->getElementsByTagName('foo')->item(0);
foreach($element->childNodes as $node){
    $data[$node->nodeName] = $node->nodeValue;
}
Run Code Online (Sandbox Code Playgroud)

但是,我正在尝试做的是来自XML,

<stuff>
  <foo>
    <bar></bar>
      <value/>
    <pub></pub>
  </foo>
  <foo>
    <bar></bar>
    <pub></pub>
  </foo>
  <foo>
    <bar></bar>
    <pub></pub>
  </foo>
  </stuff>
Run Code Online (Sandbox Code Playgroud)

迭代每个foo标记,获取特定的barpub,并从那里获取值.现在,我如何迭代foo以便仍然可以按名称访问特定的子节点?

php xml dom

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

在MVC模型中,谁负责清理输入?

一个简单的问题:我有一个模型 - 视图 - 控制器设置,模型访问SQL数据库.我应该在哪个部分清理/检查格式错误的传入数据?

model-view-controller

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

如何在JSON.Net中获取JsonProperty的名称?

我有一个这样的课:

[JsonObject(MemberSerialization.OptIn)]
public class foo
{
     [JsonProperty("name_in_json")]
     public string Bar { get; set; }
     // etc. 
     public Dictionary<string, bool> ImageFlags { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

JSON最初是从CSV文件生成的,每行代表一个foo对象 - 它基本上是平的,所以我需要将某些键映射到imageflags.

我试着根据这里的例子编写一个CustomCreationConverter .

这似乎很好地映射了标志,但它无法设置正常属性 - 它寻找'bar'而不是'name_in_json'.

我如何获得foo类型对象的'name_in_json'值?

编辑:

当前解决方案

 var custAttrs = objectType.GetProperties().Select(p =>     p.GetCustomAttributes(typeof(JsonPropertyAttribute), true)).ToArray();
 var propNames = objectType.GetProperties().Select(p => p.Name.ToLower()).ToArray();
 Dictionary<string, string> objProps = new Dictionary<string, string>();
 for (int i = 0; i < propNames.Length; i++) 
     // not every property has json equivalent...
     if (0 == custAttrs[i].Length)
     { …
Run Code Online (Sandbox Code Playgroud)

c# json.net

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

如何在单个SQL查询中执行多个更新?

我有一个SQL查询,采用以下形式:

UPDATE foo
SET flag=true
WHERE id=?
Run Code Online (Sandbox Code Playgroud)

我还有一个PHP数组,其中包含一个ID列表.除了解析之外,实现此目的的最佳方法是什么,如下所示,......

foreach($list as $item){  
    $querycondition = $querycondition . " OR " . $item;  
}
Run Code Online (Sandbox Code Playgroud)

...并使用WHERE条款中的输出?

php sql where

7
推荐指数
3
解决办法
3221
查看次数

交换双链表中的节点 - 慢速排序算法会丢弃节点

为了练习,我一直在研究一种压缩器,它可以完成查找 - 重复部分,制作字典,压缩与霍夫曼代码的事情.

它并没有真正起作用.

其中一个问题是,由于某种原因,我的排序算法从字典中删除了关键字.我认为问题出在交换例程中,但我不确定.(这个例程交换相邻的关键字,接下来是current-> next).

我有一个静态关键字*head;

void swap(keyword * current, keyword * next) {
  keyword * prev = current->prev;
  if (prev){
    prev->next = next;
    next->prev = prev;
  } else { /* no prev - current is head */
    head = next;
    next->prev = 0;
  }
  current->prev = next;
  current->next = next->next;
  next->next = current;
}
Run Code Online (Sandbox Code Playgroud)

发现这有什么不对吗?

c struct linked-list

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

在反序列化时如何使用C#中的Json.Net将名称重新映射到对象属性

案例:我从第三方服务器收到一个JSON字符串,其中包含一个对象列表.例如[{"foo":"bar","someotherfield":"somevalue"},{etc},{etc}]

我有一个C#类,

public class MyObject
{
    public string A { get; set; }
    public string B { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,我想使用JsonConvert.DeserializeObject,但是它将"foo"映射到A等等.我该怎么做呢?

c# json.net

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

标签 统计

c# ×2

json.net ×2

php ×2

c ×1

dom ×1

linked-list ×1

model-view-controller ×1

sql ×1

struct ×1

where ×1

xml ×1