我有一个问题,关于如何将文档类型定义包含在XML文件中,或者从WP7中加载到XDocument中的XML文件中.我有与此类似的DTD文件:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE root [
<!ELEMENT root (Person*)>
<!ELEMENT Person (Name*, Description*)>
<!ELEMENT Name (#PCDATA)>
<!ELEMENT Description (#PCDATA)>
<!ENTITY egrave "è">
<!ENTITY eacute "é">
<!ENTITY euro "€">
]>
Run Code Online (Sandbox Code Playgroud)
我需要将此DTD添加到XML中,以便捕获特殊字符,例如é
.我使用以下方法从Web获取XML以在Linq中使用:
private void PhoneApplicationPage_Loaded(object sender, RoutedEventArgs e)
{
string documentUrl = "http://www.example.com";
WebClient client = new WebClient();
client.OpenReadCompleted += new OpenReadCompletedEventHandler(client_OpenReadCompleted);
client.OpenReadAsync(new Uri(documentUrl, UriKind.Absolute));
}
void client_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)
{
Stream str = e.Result;
XDocument data = XDocument.Load(str);
// Saving the XML to the file system for …
Run Code Online (Sandbox Code Playgroud) 我在获取由 PHP 生成的 .ics 文件中的条目进行更新时遇到了很多麻烦。这是我正在使用的示例:
<?php
header('Content-type: text/calendar; charset=utf-8');
header('Content-Disposition: attachment; filename=calendar.ics');
$time = time();
$dtstamp = date('Ymd', $time). 'T' . date('His', $time) . 'Z'; echo "\r\n";
?>
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//My Event
METHOD:PUBLISH
X-WR-CALNAME:MyCal
BEGIN:VEVENT
DTSTAMP:<?php echo $dtstamp; ?>
ORGANIZER:someone@example.com
SEQUENCE:0
UID:ABC123
DTSTART:20150601T120000
DTEND:20150601T130000
SUMMARY:Event 1 - <?php echo date('His', $time) ."\r\n"; ?>
LOCATION:Location 1
DESCRIPTION:This is Event 1 - <?php echo date('His', $time) ."\r\n"; ?>
END:VEVENT
BEGIN:VEVENT
DTSTAMP:<?php echo $dtstamp; ?>
ORGANIZER:someone@example.com
SEQUENCE:0
UID:DEF123
DTSTART:20150601T160000
DTEND:20150601T170000
SUMMARY:Event 2 - …
Run Code Online (Sandbox Code Playgroud)