我正在使用XAML/C#构建Windows 8 metro应用程序.我正在使用流保存.xml文件我的数据结构,如下所示:
XmlSerializer serializer = new XmlSerializer(typeof(MyObjectType));
using (var stream = await App.LocalStorage.OpenStreamForWriteAsync(MyObject.Title + ".xml", Windows.Storage.CreationCollisionOption.GenerateUniqueName))
serializer.Serialize(stream, MyObject);
Run Code Online (Sandbox Code Playgroud)
哪里:
App.LocalStorage
Run Code Online (Sandbox Code Playgroud)
显然是一个StorageFolder对象设置为
Windows.Storage.ApplicationData.Current.LocalFolder
Run Code Online (Sandbox Code Playgroud)
设置GenerateUniqueName选项是为了避免冲突,因为我的对象可以具有相同的标题.现在,我需要获取我的流生成的文件名,我该如何获取它?
谢谢
我有这样的事情:
$x = simplexml_load_file('myxml.xml');
[...]
foreach($x->y->z[0]->w->k as $k){
[...]
}
Run Code Online (Sandbox Code Playgroud)
我的XML文件类似于:
<x>
<y>
<z>
<w>
<k prefix:name="value">
[...]
</k>
</w>
[...]
</z>
[...]
</y>
[...]
</x>
Run Code Online (Sandbox Code Playgroud)
现在,我想访问我的k元素的属性.在我的foreach中,我有红色,我可以使用它来访问它:
$k['prefix:name']
Run Code Online (Sandbox Code Playgroud)
但它不起作用.我做错了什么?
我在我的k元素中添加了一个假属性并且它有效,我认为问题是我尝试访问的属性位于不同的命名空间中:
<k xsi:type="value">
[...]
</k>
Run Code Online (Sandbox Code Playgroud) 我有两个div position属性设置为absolute.其中一个是另一个可滚动div的儿子.像这样的东西:
<body>
<div class="foo" id="outside"></div>
<div class="bar">
<div class="foo" id="inside"></div>
</div>
</body>
Run Code Online (Sandbox Code Playgroud)
在CSS中:
.foo{position:absolute;}
.bar{max-width: 300px;}
Run Code Online (Sandbox Code Playgroud)
现在,假设bardiv有很长的内容,因此用户可以滚动它(只是div,而不是整个页面!); 该insideDIV不会与他的父亲滚动.相反,如果outsidediv足够长,可以滚动整个页面.我希望insidediv与div一起滚动,bar我怎样才能重现outsidediv上insidediv 的行为?
编辑:我再次阅读我的帖子,它不是那么简单,我很抱歉.我将尝试一个例子:
当用户滚动绿色div时,我希望红色div与绿色内容一起滚动.如果我不能很好地解释我想要获得的内容,请再次抱歉.