我有一个字符串输入,我不知道是否是有效的xml.
我认为最简单的方法是包装
new XmlDocument().LoadXml(strINPUT);
Run Code Online (Sandbox Code Playgroud)
在try/catch中.
我面临的问题是,strINPUT如果此文件的标题包含,有时是一个html文件
<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">
<html xml:lang=""en-GB"" xmlns=""http://www.w3.org/1999/xhtml"" lang=""en-GB"">
Run Code Online (Sandbox Code Playgroud)
...像许多人一样,它实际上试图建立与w3.org网址的连接,我真的不想这样做.
任何人都知道是否可以解析字符串而不试图聪明并检查外部网址?如果没有,那还有其他选择xmldocument吗?
编辑:将此问题升级到MVC 2.0
使用asp.net MVC 2.0是否存在创建验证摘要的现有方法,该方法对包含集合的模型有意义?如果没有,我可以创建自己的验证摘要
示例型号:
public class GroupDetailsViewModel
{
public string GroupName { get; set; }
public int NumberOfPeople { get; set; }
public List<Person> People{ get; set; }
}
public class Person
{
[Required(ErrorMessage = "Please enter your Email Address")]
[RegularExpression(@"^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$", ErrorMessage = "Please enter a valid Email Address")]
public string EmailAddress { get; set; }
[Required(ErrorMessage = "Please enter your Phone Number")]
public string Phone { get; set; }
[Required(ErrorMessage = "Please enter your First Name")]
public …Run Code Online (Sandbox Code Playgroud) 我的计算机语言课已经过了几年,所以我忘记了BNF和EBNF的细节,而且我旁边没有教科书.具体来说,我忘记了如何将EBNF转换为BNF.
从我记忆中的一点点,我知道其中一个要点就是转换{ term }成<term> | <many-terms>.但我不记得其他规则.我试着在网上看一下,但是我只能找到关于家庭作业问题的链接,或者关于用花括号转换术语的小评论.我找不到定义翻译的详尽规则列表.
language-agnostic computer-science recursive-descent bnf ebnf
我正在与一个图书馆合作,我必须与工会合作.具体来说,我正在使用SDL和SDL_Event联合.我需要复制SDL_Events,我找不到关于使用联合重载赋值运算符的好信息.
如果我可以重载赋值运算符,我应该手动筛选联合成员并复制相关成员,或者我可以简单地来一些成员(这对我来说似乎很危险),或者只是使用memcpy()(这看似简单快速,但有点危险)?
如果我不能超载运营商那么我最好的选择是什么呢?我想我可以制作新副本并传递一堆指针,但在这种情况下我宁愿不这样做.
欢迎任何想法!
编辑:按要求错误消息,顺便说一下,我想我已经学到了一些东西......
physworld.cpp:325: error: no match for ‘operator=’ in ‘CurrentEvent = ((physworld*)this)->physworld::SDL_UserInputEvents.std::queue<_Tp, _Sequence>::pop [with _Tp = SDL_Event, _Sequence = std::deque<SDL_Event, std::allocator<SDL_Event> >]()’ /usr/include/SDL/SDL_events.h:220: note: candidates are: SDL_Event& SDL_Event::operator=(const SDL_Event&)
编辑2:这太愚蠢......我认为Deqeues pop()成员返回了删除的项目.我认为代码非常简单,不能直接成为我的代码,但事实证明这是错误的.
我的代码看起来像:
for(SDL_Event CurrentEvent; !DequeueOfSDLEvents.empty(); CurrentEvent = DequeueOfSDLEvents.pop() )
{
//Do stuff
}
Run Code Online (Sandbox Code Playgroud)
所以,如果没有别的,我将学习更仔细地看看我最近没有用过的容器的成员函数.感谢您解释默认情况下的分配工作,否则需要更长的时间才能找到它.
在Visual Studio 2008项目属性的"应用程序"选项卡中,我可以将输出类型设置为Windows应用程序,控制台应用程序或类库.我有一个项目,我想构建一个独立的工具(控制台应用程序),并可用于我正在作为类库工作的其他几个工具.
VS GUI只允许我选择其中一个,并且一直两次构建项目是不方便的.
如何设置它以在单个构建作业中构建两种输出类型?我是否写了一些自定义的MSBuild .targets文件或者什么?
为什么我不能这样做:
usuariosEntities usersDB = new usuariosEntities();
foreach (DataGridViewRow user in dgvUsuarios.Rows)
{
var rowtoupdate =
usersDB.usuarios.Where(
u => u.codigo_usuario == Convert.ToInt32(user.Cells[0].Value)
).First();
rowtoupdate.password = user.Cells[3].Value.ToString();
}
usersDB.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
并且必须这样做:
usuariosEntities usersDB = new usuariosEntities();
foreach (DataGridViewRow user in dgvUsuarios.Rows)
{
int usercode = Convert.ToInt32(user.Cells[0].Value);
var rowtoupdate =
usersDB.usuarios.Where(u => u.codigo_usuario == usercode).First();
rowtoupdate.password = user.Cells[3].Value.ToString();
}
usersDB.SaveChanges();
Run Code Online (Sandbox Code Playgroud)
我必须承认它是一个更易读的代码,但为什么不能这样做呢?
我正在努力绕过Django的ORM.我想要做的是在我的表格中的字段中获取不同值的列表....相当于以下之一:
SELECT DISTINCT myfieldname FROM mytable
Run Code Online (Sandbox Code Playgroud)
(或者)
SELECT myfieldname FROM mytable GROUP BY myfieldname
Run Code Online (Sandbox Code Playgroud)
在使用原始sql之前,我至少喜欢用Django方式做.例如,使用表格:
id,街道,城市
1,赫尔大街
2,其他街,赫尔
3,Bibble Way,莱斯特
4,另一种方式,莱斯特
5,高街,Londidium
我想得到:
船体,莱斯特,Londidium.
将自由函数用作伪构造函数以避免必须明确指定模板参数是一种常见的模式/习惯用法吗?
例如,每个人都知道std::make_pair,它使用其参数来推断pair类型:
template <class A, class B>
std::pair<A, B> make_pair(A a, B b)
{
return std::pair<A, B>(a, b);
}
// This allows you to call make_pair(1, 2),
// instead of having to type pair<int, int>(1, 2)
// as you can't get type deduction from the constructor.
Run Code Online (Sandbox Code Playgroud)
STL中也大量使用这种在<functional>(bind1st,not1,ptr_fun,等...)
我发现自己经常使用这个,所以我只是想知道是否有很多人使用它,如果有这个模式的名字?
我有2个活动,A和B.当A启动时,它检查一个条件,如果为true,则调用startActivityForResult()启动B.B只接受文本输入,因此软键盘在B启动时自动弹出是有意义的.当活动开始时,EditText已经具有焦点并准备输入.
问题是键盘永远不会出现,即使windowSoftInputMode="stateAlwaysVisible"在<activity>B标签下的清单中设置也是如此.我也尝试将值设置为stateVisible.由于它没有自动显示,我必须点击EditText才能显示.
任何人都知道解决方案可能是什么?
我有一个SharePoint工作流程,只要项目发生变化就会运行.工作流与外部REST服务通信.如果服务返回一个字符串,我想用该字符串更新其中一个字段值.不幸的是,一旦当前工作流终止,此更新将触发此项的工作流的另一个实例.我最终得到了一个无限循环!
我怎么能防止这种情况发生?SPListItem具有Update(),UpdateOverwriteVersion()和SystemUpdate()方法,但它们似乎都不会阻止后续工作流被触发.
我可以检查项目的最后修改时间戳,并在最后一次更新发生在特定时间范围内时终止工作流程,但我正在寻找更强大的解决方案.