2012-12-10 36 views
0

我正在將PHP Google日曆解析器轉換爲.NET/C#。我不熟悉PHP;我無法理解這條線是如何工作的:

$gd = $item->children('http://schemas.google.com/g/2005') 

它有一個foreach循環的一部分:

$s = simplexml_load_file($feed); 

foreach ($s->entry as $item) { 
    $gd = $item->children('http://schemas.google.com/g/2005'); 
    if ($gd->eventStatus->attributes()->value == $confirmed) { 
?> 
     <font size=+1><b> 
      <?php print $item->title; ?> 
     </b></font><br>.......... 

我的主要問題是如何做$用品 - >孩子(的「http:// schemas.google.com/g/2005')的工作?它對URL做了什麼? .Net或C#中是否有相同的內容?

+2

這只是XML解析,並瞭解它是如何工作的,閱讀[** **手冊(http://php.net/ manual/en/book.simplexml.php)可能是一個很好的開始。 – adeneo

+0

這是一個XML名稱空間。請參閱LINQ to XML和XNamespace類。 – SLaks

回答

1

我不認爲PHP允許使用字符串內索引所以你看這將是類似於在C#中的以下內容:

var SomeObject = SomeDictionary["http://schemas.google/com/g/2005"]; 
1

它所做的是找到匹配的是的<entry>孩子特定的命名空間。

例如:

<doc xmlns:bla="http://schemas.google.com/g/2005"> 
... 
<entry> 
    <bla:test>hello</bla:test> 
    <otherstuff>you can't see me</otherstuff> 
</entry> 

在你的代碼示例,它會在孩子hello的內容相匹配。

那如何轉換爲C#,我不知道:)